h H__PAGEZERO(__TEXT__text__TEXT  __stubs__TEXT&__stub_helper__TEXT__cstring__TEXT5__const__TEXT0.0__unwind_info__TEXTH__DATA_CONST@@__got__DATA_CONST__const__DATA_CONST`.8__DATA@@__la_symbol_ptr__DATA__data__DATA__bss__DATAH__LINKEDIT@@ر"0@BB M8PfphE P@@Bt /usr/lib/dyldgy"9mlf1"ov2   4*( 8'/usr/lib/libSystem.B.dylib /usr/local/lib&0a )PeUHSPHH=1R1`H=H1OH=H1> :H=a4 $H=mH=jH=H=H=H=H=[H[]UHAWAVAUATSPIAL&|2I^H5YH[+H5SHD0TIHLtLH5LLGAH$HHDH5LFL\Au1UuLoL11L #MfA|H5LLL%H5LHEAIVLD7I^H5wH9t8LH:H=!11R1KL1H5.LOÃuhLqAIVLDIvLt͉I?LuL#Ic6H uH H tu Li`1LXH[A\A]A^A_]UHAVSHHL0H;#H5LH1[A^]UHAWAVAUATSPIAH11WWIDuE~.DmE1K4Hߺ$HLHDgIM9uH5HL9DHcuHUH5HHH[A\A]A^A_] DUHSPHH5H膕t H[]H5gH nHߺH[]UHSPHlHH#&H+HHq:HjCH ^HrHtHyHHvHֆHXHHHXH`H胞HmHGHdHH蝻HHTH81H[]UHAWAVAUATSH(IIIMH51LH17AHMuH<I9Fu I9^H LLu,t9Au/MuHLHH50LLH17QMuEHYLL#,tMHLHrH@I7FHNLIHHH([A\A]A^A_]DeHuLW HH]HtZILmE1H]LL+u,H3HcULu MIHS H HuMtH;IDLmH;ta}H5L I@I7FHNL"M7IULHKIcF HHwMu}MeHPLHu5H5H 3IFHtH@HtLLHAIFHMINHH)HAF DeACA9|CA9xH5 LI@I7FHNL2M7IULH[I7H1L11!HEL0}tHZLHuL`HCLHu(H5H [1LLMI1}4UHAWAVATSH IHIHHHE11'RIH3Ht1H CuLLLHbH3H HuH5LHUHLzLqLI$uLeLHLlHHHH;EuHH [A\A^A_]UHAWAVSPIHHt%L;HH kHLHE11- H3IH11 INHt&9t!H3H.HE11H[A^A_]H[A^A_]UHAWAVATSHIHIFHNuIGLHLLхybM?H5LjI@I6FHNLM&LHLI6HlL119[A\A^A_]UHAWAVSPIAHHDLxHHDLH[A^A_] UH1]UHAVSHIHH5e{I?L'L!d~,A1I?LdHLHgA9uH.HH;EuH[A\A]A^A_] UH]cUH]UHAVSIL][A^]UHAWAVSPH]H;~(IL51IHL1HcEH9|H[A^A_]UH]/UH]UHAWAVSPIHtNHFL=zyLLnVH1L0HXH1LLHH[A^A_]UH52yLH[A^A_]VUHSPHHvFHNHYHH1H[]UHAWAVAUATSHHHHHHEH=HtRI1XtDLH Lc1LIHHLL1VLeL1HEH5HߺHHH=z1R1xH5PHYH4:LeLmE1Et(Du8?u'LHHD1%EfE. LH)H1D}HH51I@HLHtxILtHLHHLLL1HHLLr#u2MLH1xϼ8jLHH5iD}trL}H}L}MtcfEL }NHL蓍AAFHAN HLEAt4Au6pAFHANNHL>HH;HuHcuHH H HI YAFHAN HLE1H}1H5HHH;EuDHH[A\A]A^A_]~UHAWAVAUATSHH(AIH\HHEHHHIHcH5L1HxHQLLLAGHHMDžT1HhE1DžLDžPLuE1HEE LHu贏HcL}%u@EtH}HxLDHHu聏AE%uMcII&EAIЃ wlHH EEL A?$uEIILHuLAADžLDžPELx+PLxLDžLDžPIED; E%E1E*~+t"0t-u=A t #t)E0DIcILHuTAHHuEHHÐHDž`HЃ w'LH 蜼H`L *D;UHXDIcH(H4H}H`*OH`Hy)HH`EuHX-HHXAAHcIHXLHumAHDž8E.0uIcILHu?AEHЃ D4w$LH 虻H8L f*upD;YIDIcH(H4H}H82NH8y HDž8AHcILD4LHu蒌AEht*Alu=IcILHumAEAltE1IcILHuHAEWDD ~cXHHHc HIcH(H4H}H@#NT@HhEt GDžXH`HtHH51誹HHÃ0.uH8HH5u1脹HHIIcH(H4XtJH]HH@uM:Eu}d@uHH@fA$llI H]HHQ@EA$AD$H`H='H8H'H9N0.EщD,AMc9T~ HhHhLHHDTD4Xt H@HLHU1:tHLHUHYtHHhEuJHcH9`~>HXLxLuLeLLLJHH9`HXtLuLLxHLHcMH9`Lu~LLLHH9`Hc IDDLE1MHI9keXpyIcH(H4H}H@7K@H]H覇tHHhEd McH(JMtI9tHcMHH[A^A_]LL H[A^A_]UHAWAVATS?AtLHH9tDt;HL=;A@x ADu HPHCHtH@HtLHL{CCCH[A^A_]UHAWAVAUATSPAIIAu L豧IEt+AD$Hc1HMcHLLYB+HIEfIFLH[A\A]A^A_]UHAWAVATSAHIHzALHމMH HHD`Dp[A\A^A_]UHAWAVSPAI/HL0AtDLަCHCHH[A^A_]UHAWAVATSAIHoAu L螦IƋKSB19| tH7ADMHH At$1H9HEHDcKHcHMcLL HHcKL{xHc{H;DxwCDs[A\A^A_]UHAWAVSPHIIHHu HCHPHKLLH[A^A_]UHAWAVSHIHLIWIOMG MO(t,)@)P)`)p)e)m)u)}HHHEL}HEHEH0HEMH(wHHEЃM HEHHHMHHtHL;HHH;EuH[A^A_]聡UHAWAVATSH9tTIHL7Mu HCHPL3Lc{I<$u ID$LP1E;|$uI4$LLP1[A\A^A_]UHAWAVAUATSPAIHL>Mu HCHPL;DcIUHuIELPIUAMLDEH[A\A]A^A_]UHAWAVAUATSH(E1DEEXI׉IADmAZM~+[tR\Mn1A~MD)H]?uyLHu*uzJ (HA)ID$1Hr<*u9HuA)1DKUHAWAVAUATSPMIHIL&Mu HCHPL#LH,AIHu IFLPILL LDHډDEH[A\A]A^A_]UHAWAVAUATSHA9uԉMDLEtBEIHHHuD.ALHuDM+Mu)HIIcHAu1ɋEЋU99¸M DH[A\A]A^A_]UHAWAVAUATSHIHIL>MuHCHIPLL;DsHEH$LELMLLHDGt1HcEЋUHuD9uHH[A\A]A^A_]ILLH[A\A]A^A_]6UHAWAVAUATSPLMLAIILCAuTLLL}LCu>HME19оACƉ3A9кACADHL0JDH[A\A]A^A_]UHAWAVAUATSH(IIHIHHu HCHPHHECELHAHEH$LELMLLLDt1EMHcuDeHuE9tgA9H]uHLHDH([A\A]A^A_]HXrLcILDGrALLHH)HCDsDcHH([A\A]A^A_]UHAWAVAUATSH8MIHIIHMH $LELMLHމLtE1]L}D}DeE9I]HuIELPI]HDqLH]Hމ‰IHaIEA]EeHUHt LLAwH]H5qHcHA׋MDLLLH8[A\A]A^A_]UHAWAVATSIHIHFL%L9uL9stHH3Hu HPH3L1u,HCL9tHtH@HtLHLcLs[A\A^A_]UHSPH%HtH$ @$ }H[]UHAWAVAUATSHxHIH9(uI HKH-H9uHCxgH;Hu HQH;HKLuЋCH5H9uS HhHcHxHIHALeHpI<$HuAt$WAD$AD$ AT$ H IL$0AT$8LhI2A@t$H]#uM}8L }uHEHEHHEEEE}tE"E;Is}LTHHshE}H]EED3ExHBD:u@~:u:HƋSʀ~:HvtMn`MeLLHLAMnXI}HLE1HCHtH@HtLHHtHCIEHC L{Dc(!AD$H3FHNLL#1H[A\A]A^A_]UHAWAVAUATSPIHFH RtH9tIH [yH9u-AdY1A(IHLXIW E1H;7M'Mu LPM'Ic_Ht$B|#)uL(HAdHA<$:uJA|$:uBIA|$:Md$tMMv`LLEII~H{HtWHXSMMvXI~L]Ht HXE1HuELmI~@AHtqL1HtdHXE1Lm1LL@AHt9IGHtH@HtLLHrIGIIG I_Eg(E1ADH[A\A]A^A_]UHAWAVATSIHI HsHS LMA9Aƅt"MtEHH5ZLH1ZOI(CI7FHNLaI'HsL1mHt H5ݟLH1 D[A\A^A_]HUHAWAVSPIIH@LHLANjCHK LHDH[A^A_]UHAVSHLwXHG`HGXLsX[A^]UHAWAVSPIIHֺH@LLHSANjCHK LHWDH[A^A_]UHAWAVAUATSH(HMIIItdu#H5'AIEHx+H@I]HuIELPI]Ee;:u{:uHAÀ{:H[tIG`IGXHI6HHUuIFLPHUI6>:u0~:u*AVHʀ~:HvtLIIO`HUHMAFB;A}2H5ٙLL1AFHANAkLLBLuHMH9thLLH]HIEHMHHCHKE1'LHH5@LL1ADH([A\A]A^A_]IcHELuI>u IFLPE9fu%I>Hu IFLPI>HHU蟃t*LLHM;IFH9H-L0H5#LH@I7FHNLIHuȋFHNA,LUHAWAVAUATSPItMLH[A\A]A^A_]AHLdt>u/IFHHHtuLkXHKXH0HDILkXHuAu1E1HL薁IvIV HDH[A\A]A^A_]靂H5AE1HL1UL MUHAVSHLwXHG`HGXLsX[A^]UHAWAVSPAI`H@LHDINjCHK LHLH[A^A_]UHAVSHLwXHG`HGXLsX[A^]UHAWAVAUATSPAIIt&ÃdLL1H[A\A]A^A_]GIFHHHt#Ml$XIL$XH0L1Ml$XA~(t/IHu IFLPIAV8:u*Hpʀx:HtID$XHEHxL0HI\$`L)IH]H{HLL|t/tAtH5LL1.H[A\A]A^A_]I$HHI$HMH1UHAWAVAUATSHIHII1IL(AELpMtAFI$@HHI$@LmIEI$HLLLMH hHHHIMHHHELx I$@HHu HCHPHCLLc1L%`fHUA_L9}4<_t+@x AD{)>IB|+_t)@xH dD<! {tEIuNjC%LmAECA)EAEH]LH޺ .HEH3Lt;1LLL19I\$ HkdHH;EunHH8[A\A]A^A_]IHHuHt;HXID$HtH@HtLLHueID$HEID$I\$ L=4izUHAWAVSPII(Ht.HAFHpHtFHNLLs1H[A^A_]UHSPHHt H@H1H[]UHAWAVAUATSHxHUcHHEHxHLJx1H`WxEH dHhHpH}LML51IEHt@ H 1dH9I}Hu LPI}EeA*?:u:u LAIL}HHEMLH)H*|x{)>ur{>ul{.ufH{1 |E1L9AH}H`LH*H*HL|HHuIMH}H`LAMm8MHEHHAE1E1EMMuAHED;`EHIcL,MtMuM}IHEH`Hu:HuIEHx+1HEߦHHEIHEHPH51U{HEH@HEH}HMH@*H@HEHEHHEHE@H}HHE@HU*HUHE@H2FHN H}HUHuH2FHN H}HuFHN H}dEHLsH`HMH;1ӥH]H@Hx#HE1H `H H;MuHx[A\A]A^A_]vUHAVSHIHMEtHӃzuHhHHtH9tHuL1H[A^]UHAWAVAUATSPII~XA1I AHI9uLLCA1I4܋FHNLFHI9uDH[A\A]A^A_]LLH[A\A]A^A_]YCUH1]UHAWAVATSE1H1HþHHuHHCHL{hWDHq`HCpH[xLH`DpH}`HPHXLDH`HHLD8(H`HL HL5L0DxLxH(HL%{`L`L8H@H0HqL`L8LxH8H(H1hHC`HCXH(HCHH0H `HHL8W@HH5ՌHߺHH5ŒHߺHH(HHL0DxLxHHL0DxLxH HHH(AHKAH AHAHAHAHA@H@H0@H8@H5HHH5~L5~HLH5HHH5HHH5HHyH5HHcH5HHMH5HL;H5HL)HeL`L8ALpH5HHH:L`L8LpH5HH]H[A\A^A_]UHSPHH ]HHHHXH[]UHAWAVATSIIHHHt7HHpH1HHP@XHH@W@`HHpHeE1侨1{W@@0@ @@@P@`@pLL`@(@8H dHHHX HHQHHLxHMtAO1ɉHLpxAF[A\A^A_]UHAWAVSPAIHH[]HCHWCEtH1DL9HH[A^A_]UHAWAVSPILJH_XHt#L1 L{HLH1:LMuI(FHNLI0FHNL}I8FHNL`I6FHNLGIFHNL*IFHNL IFHNLIFHNLIvFHNLIFHNLI FHNLIIHtH_1IHHu1AI~hJI~h1ϝI^hWAAIHIH1IHWA`ApII1jIWA(A8I1BII1'IWAAIHtFHNLPIHtH_81ԜHHuIHtIL{pH{t+H{H{1HCWC(C8H1LMuHpL1H[A^A_]UHAWAVAUATSPIHXIHnHHxIL1HIlj]LH Ew AGMeAD$I(CAD$HAL$ LL%I]E~(ALLDkLH0>tۉÃ}u&AD$IuFHNLMe]AD$HAL$ LLAGHAO LLH[A\A]A^A_]UHAWAVAUATSHAIIHHD}LuMl$hH]ЍH HKHL|MLLHt\ILHpLnMt.HFLpID$pH@Ht I|$xLIFIHLMnIH]AGHAO LLVH{1&H1LuD}Iv`HtFHNLXIvhHtFHNL9IvxFHNLEtA~(u I~-I~ I~1IFWAF(AF8I$IFpM$H[A\A]A^A_]UHAWAVAUATSHIHtbHL&Mu HCHPL#A<$#uWM|$H]HULH\tqHcLLmHLmI9]tVHcMH]IFXHc@HL%u_HUH9CtLH޺t\HKHxSIFXHc@H)'HuL ~mA?t HMȀ9tHHt2~I^XHtHcKH9t"H[HH5,1LL1iI^`HH[A\A]A^A_]UHAWAVSPIHHTH9FtAH޺t HCIE1DH[A^A_]UHAWAVATSIIIH1L LpHHLH[A\A^A_]UHH調Ht H@H@1]UHH]ѽUHG0]UHAWAVSPIHH TH9FtAH޺t HCIE1DH[A^A_]UHAWAVAUATSHIHFH TH9teAH}I]Hu LPI]LuHLFII6H覷t:AAH5H}L1HZSIEHLHwLg8"uBH5gH]HߺI@H3FHNHqL3A-IEHtH@Ht H}LHRIEM}E1DH[A\A]A^A_]UHAWAVAUATSPIHIHFH RH9tHuLH1HCL5oRL9t:LeALHrAAt H5JLH1zHetIIIuKID$>Ex?ID$HtH@HtLLHMID$1AID$HUЉ1H5;LL1H[A\A]A^A_]UHAWAVAUATSPIA։IDo C4.;w$~EADLqAHHcHL}I_MMcJ1HL1Hh[A\A]A^A_]LuLuEEHHEHxFHNH}Hh[A\A]A^A_]餵Hh[A\A]A^A_]UHAWAVSPIIHHLI?HtHH9t1IAV INLH[A^A_]aUHSPHNC H[]UHAWAVAUATSPMAωI&x Ee A9| E1DII}HtHH9t1cIELDDLH[A\A]A^A_]UHAVSIxA9^ AF 9~IFHcH1[A^]UHAWAVATSEHIHE1HuDAAt8H5tL誶I@I4$FHNLM<$D[A\A^A_]UHAWAVAUATSH8MAHUHIHHMH]Le|LLHfLANMHEIAEHEE1L}MHEJ4HHUUDeHLDH!Iǃx|"HLIHLDHE1I>HtHH9t1IIL9mkHcEHMH4HUHUHLHMAI?HtH/H9t1ILuI>HtHH9t1IHHuL4uALuAFH3FHNHL310HEJH5rH1}| HHuH8[A\A]A^A_]UHAWAVAUATSHHIHFH 6DH9H EH9IH]IHu LPIH5UvH[AMt}AEHULL!AEHAM LL+H5 vLL1IFHxgH9|eEfHECt*-t+uHLH޺=IHI1H]L-D?b^HEEL-CtHILIH]AHH]HIIFHtH@HtLLMnEfD#1H[A\A]A^A_]UHAWAVAUATSPEIΉII%x A9\$ KAD$ 9~>ID$HcH؋HQPID$H4L貯ID$L4AF1AAt6H5PpLI@I7FHNLcM7H[A\A]A^A_]UHAWAVAUATSHMHUIHXE|$ H迮IHIEAEIEE~>AE1HLDHHLHuIvAV L\LLEn A1D(HIFHCLuAN$K$EE1J4H`tNHKLcJ4FPV LxHKJDJHCJ4FHNIHuL@=H9uYtt.yt){u1ILP`DždL=>L?lu1LkHHCHX)H1)HPX)‹dD`H87hJIGH@HILXDždL@뒃[XILP`DždL`=bILP`L>d?LN:1d  dLXIL@ˉHtL(L/iuDH8HHH9H8t1pCHK;LHϚ+LuIH8IFIFL0Mn(H8IF0HcDHH4E11pHIF8HcDHH4HJAI^@WAFLL11AjÅHcE1Ht\HHMHML|MH8HHH9t1oH5|`1L(LL0L1觱AE1}t=H5`L8H@I4$FHNL苙I$H}1ot!HuHEH)HiLo1B1nH@L8HEHCHMH)HỉC9DHHH8H9t1nE1HAH8FHNL͘IEHtH@HtLLI]Hd-IEEt1H(HH;EuHHĨ[A\A]A^A_],=|?f sssssssssss>>?LLLLLL?UHttuHFHv1]鈽Hv]1]UHAWAVATSHI|!H@H 1LH[A\A^A_]dAȃH HcHH^CI4$FHNLߖI$uA$umHvHUL1"uWH]HvAL躼 HvLHt'I@I4$FHNLhM<$E1DH[A\A^A_]A$uHvLH[A\A^A_]^f,Sz,,,UHAVSIHt[A^]H3H+t1tuAոAUHAWAVSHHFIH (H9FtJLH޺ u5HULH(tUHULHAuE1}E1H{ANjCHK LH DH[A^A_]fWEfI~AUHAWAVAUATSHAIHH}HHHMHu)HCHPH HHMHuHCHP1HEMl$Iu(Ht@AH]t/HߺI@H3FHNHIL316HcCHEH]H˓IHiIAGE1MwAGH裓IH%'ID$M4$WAD$1H`M9u t21H}LLHI;] rH}LID$H`LpI}3AE1E1LmL}LHAD5TEHu,J.HTHKEH`AD9u^D)ELuHEHH@HEEE1LeH]AExH#D<@!@9AHutRLmE9}vIcI)H]E1B<#@xH"D<@!@9At$IM9uXIcHMD:,ALmELmLeHuH]E9HEHFl1IE+)E1YE1L}LeLuHuALE1ADE1<t L}Lu9LmLuȍHwɺHrQH]LeIcD{H];@xH!D<@! @8AHÅuH]LeHuDMcMI)HHuH]H5 AHs8UH߉ƹ'H]HuA xHD<@! @4HHu AEt A11 AT HHA9uI)H)ÊLuJHEHaLHuL葃 LHuL7IH9]t3H}͌IHIEIEMuLhI)LE ;ME1LuV8ME1HxHuKLuAEHXA)H}DIH8u IELPAELhIHuHxHH}HL{IWE1LeLuE1AGHAO H}LEHp3AGHAO H}L H}HpHHĈ[A\A]A^A_]H}LAGHAO H}LϋH}Hp迋tUHAWAVAUATSHXIAHH2HtNIC$;C uXH5UHߺI@H3FHNHNL;A2=$C$HHEȋEHHEWHE)@ )@)HHHIHHKXIH HHH0HE1DLA~HKTH ITHDHEDeL}HtHH5%TDLaudDeML(AFH3FHNHBL3MA|$tHLULbIF(HHߋuLAVMt!AUJAMHLADuHHKXHt:HL5HCXLL1HHEe M}AHEHK$EЉHEHHH@HHL35HCXHt>HH5HCXHNQV HHCXWDHX[A\A]A^A_]HH1iHtHHDLUHAWAVAUATSPIIH}HcDjH41%^IL HxHLH1H}DLŸL1]H[A\A]A^A_]UHAVSIH]HL[A^]UHAWAVSPHv t-ICHSEANjCHKLHE1DH[A^A_]UHAWAVAUATSHIIHHHEHH9Fu I<$AD$LL*Iŋp$LUu#LLZ AD$HAL$A0M(AFI7FHNL&M7IEHxAEtu`AD$HAL$E1HxH@H 0H9Hu3H@ xu)H H9HuHxHp HH9FAEIMALJA}H`LX1HpLPL}HpHcHHxHH@AM IA |!J41[IHxHEHjLEHxE1HcHHD A u/H H@HAIILHHcIu6HHDHH֍HHpwHtHIWH9t1,WIAD$HAL$ LLlAFI7FHNLOM7E1:M(,UHAWAVATSHIIHEuIvHUL2IvLHIHCI9D$tLL=I\$A|$}lI<$HtH!VH9t1VI$H]I\$IvH0H9FtzLL6mH JLL8r1H]LIHID$I$I\$IvLLݞtLL#AD$I7FHNLM'1ۉH[A\A^A_]UHAWAVSPHHEu\IH'Hs HUL1E t17L}AGHsLL1(HAGHAO LL HH[A^A_]UHAWAVAUATSHxtAIHHHEЃ H}}HEHEE1DH1WTHE1LhME11HxAFHwEHYHcHIPMEI6H} AŅu`HEHE1+I6AH}XI6H}AHt$HMJ7I6H}:AũADH HcHHEJH58HߺyI@H3FHNH7wL;AHLQAHCXH@HHCXHL}D[A\A^A_]UHAWAVATSAIIHκbyH@LMtHLGy@HCD{ H\ HCMILHAM HANjCHK LH[vD[A\A^A_]UHSPHxHHH[][UHAVSHLwXHG`HGXxHH0LsX[A^]UHAVSHLwXHG`HGX LsX[A^]UHAWAVAUATSHHIHHHt<8H5'7LHH1WHĘ[A\A]A^A_]H56HHtIHuHt\H1JIHUHLtIL-Lt7 L1J8VH56[L1aIcALL#xILH޺Aw@IGAG HRIGAGMMLLÃu#AF,HAN,A^(1AF(AF,u AFMAGHAOLLtUHAWAVAUATSHXAIIIHFH H9uI\$D9{LxI$Hu LPI$LeEl$(1GIHEHH@H@H]DmWEHEEH HMEAEH]EED MEA [u$EuHH]EEH}$u5DE׉Du-H}t|H]H]DmEtP1ɋuE׉D$u8[uEt.\A HHH]DEAuuHH]E}uKHuU)‹MDEH H]EDmH]EEH]HHEH]CD{I(HC@HcHE11GH~HII1E1HD HAELIE@IHcHII9|H]DcHHH9t1GLeID$HLxtH@HtLLH]I\$HSID$AD$CH3SLDIEKAL$QAT$LLqIE1HHX[A\A]A^A_]UHAWAVSPIωIH։{HMt$A?tLL8sLHHnCH`2LH޹4INjCHK LHgpH5/2LL1H[A^A_]UHAWAVAUATSH8EIIIH9HHEHuAtH51LrHEAtH51LerHD͠L|ŠLtŨHULÅt*M4$H)I9FtLL)tI^HHH;EuH8[A\A]A^A_]fUHAWAVAUATSH(EAHIIDmDeMnL}LnH 1HHHWHE@A} ~fE1IEN4N|Ht}LIDH1tt.EԨtH}HuLtEԨtH}HuL]IE9e HE@H]H3FHNH^nHEH1H([A\A]A^A_]UHSPHuHCH H[]UHAWAVAUATSH(HUImIHAIFI01qCW@@ IF~tHEE1HEJ4LHUHDeEtHt8L}E~ E1JJLLLIE9L}IL;}uLLNmE1LH([A\A]A^A_]UHAWAVATSHpHIH1HHEAu_HCD@H H.E1HpdH1LH޺YoI@I4$FHNLlM<$HHH;EuDHp[A\A^A_]UH^H]UHSPHKHH[]UHAWAVATSIL%Jt#N<#LnLHL1E1QHHhu[A\A^A_]UHSHHHHHEH5-fnHUHHHBH߾"HHH;EuH[]UHAWAVATSIIH-|xLIL kIHIGIWAGAGI4$FHNL/kM<$I6HtVLmLLHٰIvHt2LHM<$LtmLLH誰H3HHu1L1\@[A\A^A_]UHAWAVSPH1HHH<uAHHH!1@IJHHH #LLKLH[A^A_]UHAWAVAUATSH8DMIIHIHFH H9uL9suM9K u C$ALEH Hu HPH HMHcCHEAIH+HEHL}EE1LeLHvuLEt.K4LHUuA<$-u}t}y`DD}KTIHuD}EyLHCHtH@HtLHHHCLsEԉC D{$HED81H"+HEȸEHEHH FHEH5FLHULE1臀LHHHtwL=(L%EE1J|u!MtIuLHE lJ IuLLE11lJ|t!IuLLkJLIHuH1=H8[A\A]A^A_]UHAWAVAUATSPA~-IIA1IDtwnLubt)dud "OtXtQxtouGAA|H+t%@-t@x @A#D< @4 tADH[A\A]A^A_]HAUHFBFB]UHAWAVAUATSH(AAI1HEu EDhAEu1$1A}^A)1A|]HEMlEMAE<]<\LHűUHJ(EA)A|-AH{HuȋUAAEM̋UA9|A9~ A9| A9EHL,IEo1ɋEԅ}D1IEH([A\A]A^A_]ËMLeLLUЉ4HIA)A$ẺEEI݋MD9DMUHAWAVSPAHAEt ;DH[A^A_]UHAWAVAUATSPAAIHHcG ;Gu[DEHCL3HSH 9I9tHH4@LH(HHH4@1HHcK HHIHL DEHHcK QS H IL,DdD| DDH[A\A]A^A_]UHAWAVAUATSPIHH_G G L=}A@D#Ex CDHFG8{}I91H묅At'DHEB0tLukJ40XAx=wH8HrrI9tD 1HHEJ40CHEJ40B0Mu9#tEDDxIL;u%E1ZLeHcE11 ILmIEE1LMI8HEJH3HuHCHPI8LMH3LcsHEB <tf<t, LLI8LMMEIA{LI8LMMIAG}EAMu>#u A\IALEE1L~%O=wHHHCHHEHCCI4$FHNL`>I$AGHAO LLA>AFHANkqH5L@H@I4$FHNL=I$A1HE=f"',UHAWAVSPHIHv? u HsL. tGLcLtLL1xuGHULL|HULL_~u~A<$3E1}A$A$̓MfH |HcHLW9HH9HCHLcCI7FHN}L9I1AFHAN LLb9H([A\A]A^A_]A$̓H HcHEm1MI[ISLHLIDI*?L,e2fWEfI~AEfWX EfT)f)ELP8HLhHf(E@@I7FHNEfW1f.H XL,tf"2:I7O,,^UHAWAVAUATSH(IIHv艠ÅM4$AFL-WM9ntLLRvI^H]A=t+4HL#7ILhHHX@tHuLH]LH޺f\f|Yf)EL6IHIGI(EAGAGI4$FHN}L6M<$1AFHAN LL6H([A\A]A^A_]UHAVSH IH]H޺)f\1f|Y]f)EL5HHVHCH(ECCI6FHNL"6I1H [A^]UHAWAVATSHHIHv蛞AąUM>AGHULLxAąƒ6H 5HcHEEIE@EwEkE_EeSEGE;f: E 2f: E )E EEQEEL4HHHCHECCI6FHNL4IAGHAO LL4DH[A\A^A_] %1=IR[gsUHSPHלt H[]H3HH[]vUHAWAVAUATSPIII!zEl$ E~%1LL<HL^9u A9u1H[A\A]A^A_]UHAWAVATSAIIHHuLIfoC1fo IHfHuE~&E10A< 8 0A HI9uHǀ1LLDD|[A\A^A_]UHAWAVAUATSPIE11IǾ1nI1ZI^D1>1CIIuLLHL1H[A\A]A^A_]UHAWAVATSAIHHuILIEtPE1AL!ω8L!ɉ4@48L!Ί 0A HA9u[A\A^A_]UHAVSI1[~\tj}t!{u%H5# tR[uH5pH5H5L4H@I6FHNLl1I[A^]UHAWAVAUATSHH}L7AE1L=1E1EK<<8u/C\<9}%uK'HULELDmuDIIuMAEHctfIHEȋ@9ЉuHUt8)A@A>@xHD(u=HEL0uHUII HHUHJH)rM)IAiūB$1H[A\A]A^A_]UHAWAVAUATSPH}L?L-1L5IuNc$3LLntHIH u۸#K'HMHD)aK'HHAA$1H[A\A]A^A_]UHAWAVAUATSH8IHDFFpAw=~;H5Hߺ1I@H3FHNHP/L31UH]IwMgAD$ D<Mt$ MHuȉ]IT$IWAM;gtEl$ ) tD dAA9_ tY)ulY9s9ZAAH}L1ҹAHuȋMub&9]2|0AA (Dt{u~6tAA (DTI<$Hu$HEH}v-H [HHHHMHH5ADhJmLHUT;UVHLs ;U=A#sH](uYH}LAxA|$$ oIL$0IOA(u;A|$< IHMgIw@HN(IO@]H}L1A"HH]DDAH}L1ҹ#HUAAIw@HN(IO@AAu2HcHLE]HHAOIO HDHF Hu H(LEBD]tX<u*HcHHHAOIO HDHFH>HcHHHHAOIO HDHFHH}*HuȋMEH}|+H پHHHE@IcL$I $H9MtBH}H+I4$AT$H} .A>uIO0AT$AHHP H 'HHIw@HN(IO@HF@AH}'*HuAM~IW(H59HHHLH5H}1gBzH5fH5a9u AG}sIW(H5AGu]IW(H5IW(H59uTMgOMg]=H5,H}1AADH8[A\A]A^A_]MgAGH}4IW(H5HHx*IFIEIFMcm H'H غHH1HLhIFLpM~ I$IF(IUHL]IF01HAGH߾LWXAAGHAO LH'AtHuFHN?H'5HEHL(AFH3FHNH'L3E1HHH;EuDHh[A\A]A^A_]bUHAWAVAUATSHXHMIIF49H}}AAL$A}<AE89HEHHEL&HHHCHCA}0E1E1LmLHHW*AU&H]HCXHEH@HHCXAHHHUIHMHKXHIHL%HH@HGXHHHIHHUFANjCHKLH&#H}LBANjuDuH}ЉLAADEueH]HIcE0IH9GH]HLhHtH5]HHUHMADžu Iu HƚAAAH]HD[IމIFXH@HIFXLHu\t*u\AF,HAN,GA^(1AF(AF,7AFIFHNL"HEHI@IH@;UHAWAVATSL~AOt [A\A^A_]IAG~5E11IJ4!NQV L!AGHHcIH9|I?1IwFHNLX!HL1[A\A^A_]UHHB]UHAWAVATSIHH jAH߾L\IvHVI@MfAD$H3FHNH L#IvHxLsxHL5E1D[A\A^A_]UHAWAVSPIIuFIwuYLFHt|I@I6FHNL< M>VH LL6:IWL?u%I_CI6FHNLI1ۉH[A^A_]UHAWAVAUATSHII|UuԉHEȳAAK4LH,u4K4LHl,tIA1L9euEAEuA9}0DADAI4LDFEtu2HI9uI(CI7FHNLI1H[A\A]A^A_]UHAWAVATSIIuKM|$u_HSLL+tpI\$H;Hu HCHPH;HH08H LLwI?Hu IGLPI?1ۉ[A\A^A_]H5L H@I6FHNLIUH]uUH]uUH]>wUH]/wUHAWAVATSHIIu[HUIwL螇Åu[Le܃}teIwL螕tÃuIEIwLLatɉH ,LLDH[A\A^A_]ÃuI(CI6FHNLI1UHAWAVAUATSH8I։IHECr"H ALLIvHULi\AŃ|EuIvHULL\AŃEIv LeLL$\I$HEM$LuI^LuLH HHHLpLHH;HEHEH}LuL;uAAA A Et tiAjLLéuHEHpLALuLuHtIŃx HI9EtTL IHIEIEMuHEHpLL8:1ۅ8LL(#HEHpHH9FtLL9LuMuI}HtHH9t1mIEHEHp1HH9FLuLL9AuEupHE5HEHEHE uAHEHE tA݃u.I(CI7FHNL%IE1ADH8[A\A]A^A_]AUHAWAVAUATSH8IIEIuLÅIuLeLLăE1E$$EIuLyHEIuL$'HHÃxH}HEЃxHxHMH t=A/H 3LL1HEE1HQ:urHI tubHpHL%tKHHx HEHH@Hp2t,L}HEHHH9Lyu$HULLSXuE11HE1UAGHE HEHE1H@HpFLHu1S>HYHHH9CtLH޺V0H[HEHEMtOH]LL1=HHHYH9CtLH޺YVHCHEH]HEHMHH9Iu L貏LHuк=HHƒxH@H ҩ~H9u$H9t`LHHֺUHڃ2HZHLH HHHHXLHuH5H:HZHHZHtHjH9tHU1IHUH1MtAGHAO LLwHuHtFHNLXw2s(I(CI6FHNL&I1ۉH8[A\A]A^A_]Ep؃eIu L éuIuL éuIuLeLLE$$UH1]rUH]rUHAWAVAUATSPII!H LL肤I_E1t]HEE1ALHh[D;c }HCIcAHK4Hu K4I(L4IL9muLIHIGIWAGLHZD;c }0LHZD;c }HCIcAH1LLfZAGI6FHNLvM>1H[A\A]A^A_]UHAWAVAUATSHH}ЃbAAuE9MIcIH4H}HU#~A^D9LHcH4H}Hp tADD9L}DkE9}gMcJ4LuLIH+ K4LHr AޅLDe:AE9J4gALuLHHHCHCCI6FHNL IE1EE9LuHcH4H}H[A\A]A^A_] H nAH}о١DH[A\A]A^A_]UHAWAVAUATSHHHUH}Ѓ}1H [AH}оHU芡DHH[A\A]A^A_]A1HEE1HELcHEN,M}MuIELPM}A?-LH5vLH5ZtpLH5Bt\LH5*tKLH5rD)؃HEJDHE1 MHED)؃D9HcHMHHHKHMDAIHEuL3H}L/WEf MnEdDXEH]E1EHELuK\LHHOtAD$HI9}w4HEH HcHH}HHHU1iuf1gLH5HELHuHHMDEAƃ}uHEHH}HCVDc LkEtLuK\IHuE9 1Lu1E1E9}.L5TH}HLtDI\AE9|HLut*HLHtIcITH5LcMM(AFI7FHNLMM7HtLHHH[A\A]A^A_]\E1HEJH5aH}1&AAn|UHAVSHHBVH}DI@H3FHNHL31[A^]UHAVSHIH QL葝RHrHLELE1,ox u.H]I(CI6FHNL'I1ۉH[A^]UHAWAVSPIH LHLrHBuHILH,u$ICI7FHNL I1ۉH[A^A_]ÍNLLHLH[A^A_]YUHAWAVAUATSHHH]HuuPA1HxHEHE1HE1HEEEE1HpfDfHEHE1HpAL5EEE1HE1HE1HxIcIH4H}HHdE1AHjdH Ic LLHp17EMM,E}1HpHxfAHLHMHETH\HqH9CtH}H޺pJHKHHMH3AL AHDHEAE9HED)H]}H AH߾肚fMcN4HLI|QMcv LHH}HItQH5L H@I7FHNL IADHĈ[A\A]A^A_]Le}t*Lx H HHHWHHE@1HEHEHu}uH59L HuHt@HEE}LXE&MME1HEHEMHt-LHcP[ HEJ4HUHu3LDwU(IEHEH1ALmLAE9IcHL}I1LHELcs LHIHtRH5FHLHaAƅCIuFHNL,I]E1HCHELIH2ID$I$WAD$AD$E~.1HcHEH4LD4LLHDDD9|LuHLL`AƅLmLLe'IHID$I$WAD$}L}~11HcHHILHuILLHHD;]|H]AD$IuFHNL MeIAD$HAL$SH}LH5H5wLTH@IuFHNLI]ADH[A\A]A^A_]H5]LeLH@I4$FHNLPI$f>GUHAWAVAUATSPII"H ,ALLAIuAu$AL"IHL"HtIǰA|7LL^I%LIH IAGIG1EEITLLHI9uIuLL(tA}u0LL#AGI6FHNLM>E1DH[A\A]A^A_]UHAVSIH LΊ4uHrHLLHLsÃu AF[A^]UHAWAVAUATSPII|YAMnXI_HHu HCHPH<#t< v L1o7II7L^7AHt!A/IH KLLH[A\A]A^A_]IFXAuIwAILDLLHLrMnXUHu Hr]:;H 蚉]UHSPtH ȹmH[]UHSPtH >H[]UHAWAVATSIIuIvINu(L1.H JLLIF LHHE1`IHtkIvLHLHLZLLHCHK LHgI^CI7FHNLGI1[A\A^A_]UHAWAVATSIIuZIHt!FHNLILJI^H;u HCHPE1{t-IFI@H lALL辇D[A\A^A_]UHAVSHHII@H3FHNHcL31[A^]UHAWAVAUATSH(HIEDfHuA1HE1HEAJ4LHtJtLHUDWJ4LHt JDHEqJ4LHyt JDHEOJ4LHb|tENlHI9EtLL6MmMIE9*HuAA1HE1HELmE9tA9tH LHDmHuHtAuLaH}t1Au+IFXHEIF`IFXH5LHUHEIFXEn(HEAF,E9u*DHCI6FHNLrIHEHADJTH50L1H([A\A]A^A_]UHAWAVAUATSPHAI| DuHsHLG2IA L152IAMtZA}H ALHׄ5EAJJtLLTuIM9rE1ADH[A\A]A^A_]UHAWAVAUATSPIIH LLYaIGX1ۃxtUAAKHHu HCHPH8:ux:tKIO`LHu IM9u1H[A\A]A^A_]UHAWAVAUATSHhIIE/H ALL襃DHh[A\A]A^A_]AI^IvHHMLE1A"t H3HLHh[A\A]A^A_]鋈}HHmHc HAGfH  A]/I^L3Mu HCHPL3HcCH4H1KIHL1$AI^LH~H}LuLmEoAEIHcHMH4H}HAHME1AGC}tQA4HHML4HI9Ft AH}L|1GMv EA_AKIvIVIN LkEDLMvIHEHuIFILPLIHEH}LsIHHMHuIFLPIHEHsLEHsLAA|Hs HUL @AAE1=AECADHDe} IA[I^TA&Au(IvHkHMLE1A+H )At%AIvH<LAGLM,IvH1LHMHA轆ATIEHHuIELPIUEuM0 EH L=߀H H HcHL5M9utE1HL1/tAIHHLpHLx@I4$FHNL1I$ AGOH AAu(IvHHMLE1A谅3H ;AIvHUL/AML8IH:IAFIFH]H#IWLLHuHEALmI^L+Mu HCHPL+Lc{Iw1H[ HEB8E~5LuME1LHukHcI)LLHAIE9|H]HHuDI@H3FHNHL3 H gAIvHULu IFLPE;nIH]HLXA$MvhIEEȉEEAHEJMLmHENE};HEJtHH 'H "1ۃ+3IvLHXILHHYHI9?A~4LL$EȉEH H}HUI^L3Mu HCHPL3HcCH4H1%IHLZLHL LȖCHCMI^L#Mu HCHPL#HcCH4H1ILmLL.hHcLA}6kLfHcLH1ZL~HL0L8CHCCI7FHNLIH;u HCHPCLcL4HH`E1}DuEH}ЋuMiAH}D>iEttA9LmMcHMLcHED HEN<(II1E8'uH}LL&HILHuLm>IvIVIN AoMF(iH WH r{ML-IH/IAFIFA|EILLHI9uAFIuFHNL-MuH 6LL(yAxIvLHVIvLHyUH@*D}EtfEtaE)|\H]HDgEH}DgE99LcHcEHAHHuL軒tHHueHHAE9uAMc1EE1L-H&H{HHHELeLuLHHHCHCCI6FHNLI71Ƀ}LDIvIVA1}ELDI^M~LH.H]C EШM7Mu IGLPM7LLPALHHHCHCD}EkH]LuE1Lm}LxE1LHuDI3HL0Mu HCHPL3MLH])|!AŅtH}DLDDEt!AD;eM|]LxkE1]cHxHML}tD)H}HuLuAT$LHu2LHuHLD&eHIL}E1MD;eu"MLuMDLHucHILuˉ]ȅMH]\HMD)LHLeBH5L6H@IuFHNLI]sHCHPHHELeKLH]EK\HHtHEHCHPHHEK\LH&Mx uHcI9ALHcI9ALƋMH} MH}uHUE1A1Ʌ}DLcLiHHKxHCHLsCIuFHNLI]E1E1AAIHHHwHCHLsHuH)ޅLm~FH}aL*cHcLHuH7aLuLHމH@gL="uwL=)unL=0ueHUHL'E1?L=u=L=/u4L=u+L=%u"L=tL=tL=tL=tEI~I1A<Aׅt2HI9uLHHvHCHHCzLHHvHC1HE1HCCIuFHNLI]XHUIHL+(E1AI蹊E18"2謈 4"4f_(33_hqzrUHAWAVAUATSPII!H LLq>Au>MgHTuI9D$tLLN!Ml$MHEMeIM~IwLZtbH+ELLH H9}I@H3FHNHIL3E1DH[A^A_]UHAVSIu7HrL|HtAHCI6FHNLI1 H -Lk[A^]UHAWAVATSIIufIt$LHtrIID$@I7NQV L|ID$II\$CI6FHNLSI1#H 1LLKk[A\A^A_]UHAWAVSPHIuMHsuaLSHHXE1HCI6FHNLIcH ALHjDHSLAu.H[CI6FHNLbIE1ADH[A^A_]UHAWAVSPIuwLLcLHHmHCHL{CI6FHNLIIHt?uLHLpHLxLH@I4$FHNLI$IFXHM$M2LHeLcpHL8LHHHYHCE1L#WCLHLP LH XHHL LpLHH( CIuFHNL:I]E1H@VHH;EuDHh[A\A]A^A_]Lp(mH5ۗLL;Ht)HcPH9tH@HI;F`tHpPPXL}tH5LH1'MtIcNH9tMvL1IHXIEIEWAEH5LLLH" H58LLLH Iv0HLHcX LxH56LLLH LH mWHHHHXLLH H5L=LLHs LLLe Iv AV(L6IH5#LLLH0 LLL" I^HtNHCHtxuH[H5ЍL}LLLH HCHPLL H5H]HߺoHLH HCXLcxIcF I)H]H BVHHHLxHLHj AEH3FHNH|L+>?>;6IIAc'UHAWAVATSHIItpEIwL11HLcLmHHOUHCHL{CI6FHNLI1IwHfHMLE1A?XubDeIwAi1L1HfAtDAt]EQGH dLLQH[A\A^A_]ÃxH G1H9HXUHAWAVAUATSHHIՉuVAH}MeM4$MuID$LPM4$A|$tIIuLeLuAu:HӚHEAZH L[PV1OM}IHMHuIGLPIHEM}LLALH THHHWHE@E~LeLuD}ˉ]LHu<ELmLL<M;MtAHIEu]D}M8DHu)H]HHHuH&MHcLHE]D}HcIƅv A1ALHu1<ANjEԃvwaEHu 1HþHfEHHHuLLNHHcEHLHu{JL=AH}LH zPHHD`Le@LHuH-IcIE,0LuHuA)LeLDLLuLH1H1LuAFI4$FHNLM4$HH[A\A]A^A_]UHAWAVATSIIuu,Hz;H LLMOM~IHu IGLPIAOIvLI@I4$FHNL?M4$1ۉ[A\A^A_]UHAWAVSPHIH LHMHHpHLHsHt&I@I7FHNL追M71H[A^A_]UHAWAVAUATSHhH )LuH}HUHZHCH aH9L+MuHPL+Mu HCHPE1Lc{HCHtH@Ht H}HEH]~!D111A|%@HH9uC ȃ^Lc1L_IHLcM&IF HIH8IF0I|I~LLeLIFH]LsH `HK'MJ/Iv8L<8ILHPHMHHHxEE11LuHUEICLeIJD&A}%uA}%uDBD&HcI JL&I9s&AM%u A}%uIA HII9rމHAMuI9nH}J&HA>*uIMICIJ&HHELH5͕HUHM1euKHcEIƃ;t4A>$u.EԉE}0L]3;*HcEHMHL]HML}uEA[u-BD"[H}HcLJ "AF<^uQDG^AFIFI9H=•cHIƉaLCD%HMIAHLe<]uIIcAA]IcHxH4H E1Ct<]t BHI<]H AC ɍG9}TLcDL1LHEA<-uHAAL8~A A\H‰)уuLHEuMC<HULHMLI9=ABD"A H=bHut'cHULu;HEH8L]LeH}t1%LC|%lL]HULeH}uL]LeH}IIMI9;L]H}tHEHMt;tmH Hu;ILH5HUHM1buHcEHMHHcEIL]HML}I9C sIC jHHUHmHL]IC(HMHQHBHp(Ht8H]Hߺ褺I@H3FHNHL3uL}|;p }VH5HqL"HtI׉|H LLAZMgI<$HuID$LPI<$ZHtELHƺдH@I6FHNL$I1ۉH[A\A]A^A_]ÃIWH5L1I_HHuHCHPH|UHAVSIu+HZH3Hu HCHPH3L;1ۃEH L@[A^]UHAWAVAUATSHHLrHLuE~ MfH]HհIHWDIEIEWAELDgE~:LHEwL}DIHELL HAHAEH]H3FHNH謰L+E1H uAH߾?DH[A\A]A^A_]UHAWAVAUATSH(IԉIHEHECr"H uALLE?It$HULAxH]HEE1HH) LIvIHBID$I$WAD$LDfE~CEL;H BHHHHXHELHMLIuAD$I6FHNLEM&E1HULAIt$HULIt$HULu_HuHH~H9| HySH9~NH5L:H@I6FHNL莮IADH([A\A]A^A_]HHHHHHHHHHHH=ADLA^UHAWAVAUATSHII1HEHEЍFr!H {LL=`tHHEIwHUL%E1L}M)ItH1II1H]LH޺ {HHxL9}MHII~IwHUL!IwHULLecH5L蓯H@I6FHNLIHE1MLoHHQ?HCHL{CI6FHNL蚬I1ۉH[A\A]A^A_]UHAWAVAUATSPIHGXxt_A1ۃILhHHrLHtlIIALLDI@=H5L胮H@I4$FHNL֫I$H[A\A]A^A_]UHAWAVSPIH iL:AHLAudM7LLHtGIGXHHu)1̀IOXHWIGXHAFL1ۉH[A^A_]UHAWAVATSHIH LH9rAHsHL6HtAIăxt8I|$t0AD$@A$ALDHAL$@LLOVHH57L1,[A\A^A_]UHAWAVAUATSPII!H LL09cAI\$LH)C u%u;I\$LH{ |%HCLhIT$H5ĆL1E1I\$LH{ Lm~ HCH1Ml$LLA} | IEHH1LELH1eHA_AJ41HE~IH5XL覫IE@I}IHLH7RLLeLDL蒁IuFHNLʨL1[~LLTH[A\A]A^A_]UHAWAVATSIAHHOIHHAT$ AIHLDM9HL[A\A^A_] UHFHN]&]UHAWAVAUATSH(H}E1Aă|aA͉uĉHEAJHo:H9CtH}HI׺kLtzL{K'MALDIML9uuMLuL0HH:HCHL{CI6FHNL[I1H([A\A]A^A_]I*D;uE}QLeH]J4HLEAt MY MXMLIL9uuH]HzIH9IFIEAFAFH3FHNH蝦L3=5UHAWAVAUATSH8MIIHE"H 0rALLb5nAI^HCucL=8L9ALH޺IvHULM}fW `H T8H9ALH޺Ku}IvHULhLeAMQH[}HLILxHHX@I4$FHNL0M4$PLeLkD}EAKH7H9CtH}H޺HK}uI)HTLHHIIM9uH]HPIH27IFIMnAFH3FHNHzL3H* i^MMLHHI7HCHE3I*D}E9}NDEL}MI4H}LE}u M\ M^HI9uMMLuL^HH6HCHECCI6FHNL胣IH5iH]HߺI@H3FHNHDL3Ae5^f(f)MML跢HH6HCHf(ECCI4$FHNLۢI$E1DH8[A\A]A^A_]UHAWAVAUATSHxH2HHEЃ|8u1FHHxFAƉEH}HUMHuu"HE/H nAj1LH1wHUHEHXE1E1LNdILcuH}L0HUA|$ DNHM9uEtEH53nH]HߺXI@H3FHNH謡L3A}H}t /H 4HHHW@H(HE@E1E1LHHHMD|HH}HhD;{ }EIAD9uD;eE1L}LHHUH HhLpIHMJ H DIILHhUHtZHLLBIHuM(AD$LHL荿AAD$HAL$ LLrEtLpID9uALHxttAE1A(E1A}H}HHuAu,H]CL}I7FHNLןIE1L}H]CHK LH讟HE| H}15uH/HH;EuDHx[A\A]A^A_]FUHAWAVSPHD~L6LE;~ }HH@HcKQSH1H[A^A_]UHAWAVAUATSHHDMLAHUIIH/HHEЃrIcH1tILeE~_H]DHEL,1HEH4XILuuIHFHPL~LetIL1ۅALeЄHEHH]H8Iu IFLPA~lLeLBHHHCHWCH5;\LLHH5DAuAG(LcLL5LpE1L8L`H}HHH5[H}Ⱥ蠌H}HHHELc`,H}蓉LpL8L}L`LHHAulH5[LILHHILHmH}t1H5[[LLHHDLHHU5LHuHPE1ALeH]AEtHtLHWAMt\LM'AD$L<Åu$AD$I7FHNLM'DAD$HAL$LLňD}tALcLGHH)HCHLsCI7FHNLrIE1UHSPHHHu HCHPH 1{|9:u 1y:H[]UHAWAVAUATSH(DEHMIIH}複HH&HCHWCL}Mt.HEH8HuL}IGLPI?H5`62HtLAE1E1MMuAE;~}YIIcL,MtMeIUIMH}HLEDMULHu+HtHHHH}HLEDMUHH([A\A]A^A_]UHAWAVAUATSPDIIIIDȃuI~u*MtLL1tLLL rH[A\A]A^A_]ILLH[A\A]A^A_]vUHAWAVAUATSPMHIIAuyLkCLkCAuLH#`HtLMt9HuL`-IHuHQ-HMЋ1HMԋ LHE1职tLLHAEHAMLHH[A\A]A^A_]H[A\A]A^A_]UHSPHH~1X[HCH[]UHAWAVATSIIHFL81L&[HIt$HL.I^H)IF[A\A^A_]UHAVSHHGLpL|HL/C[A^]UHH?H6]r/UHw @7w @?@΀@w`w& $? G@?@΀@w2$  $? G$? G@?@΀@w]UH@y@t+t1@]UHAWAVATSHAIy L}.I1E~LeLLÉIA)H[A\A^A_]UH=tfLHHILL;tKLL*u1A>t0AAEt)L $HtIIMuPE1ADH[A\A]A^A_]UHAWAVAUATSPAAHt DALmԀ;tIHLDHcLD;}uE1LH[A\A]A^A_]UHAWAVAUATSHMHIAE1HHUAE9t+;t,HHuЋUMHHIGC; It+]ADH[A\A]A^A_]UHAWAVSPIHHwHW`~H{XHx"AH߾tC@A)HKXD1SH)‰QE1DH[A^A_]UHHփv HW HHH;HHH1"H]UHH ] UHAWAVAUATSH(HIE1D>EIE IcM0QAU0IcM0QAU0DGQ܃ )H HcHLRID$ IcL$0QAT$0]?[]\QINIL$(AuЃVL ~ă H5k HcIMt$(LeL}DmĄLHuD% HcLUԃ\uUdPw_sHIް L=QL B;HHuL}'Hي<-UIΊA<]LL}LHcLHLDmDuLcIދU\LLULe?HIƋuԃ\L}\A> I΃[u?<:u;L=iE1M/LGHHcLLBIII uLeLUL}Dm HIL09HL__IL09AD$uLazLAZHHuHcHًUԃ\tqlH HHH IA L}wzDH VHcHLeDm 1L H ODHHu'\uLeL}LA]SLeLazLafLAFL1nLL!HL >L!/9L:@'L[`L{~/lWZid1ۀdÃL9ID$ IcL$0QAT$0IcL$0QAT$0E1D4A\$0L09LIt$ IcL$0QAT$0D4AD$msw1ۀwÃLID$ IcL$0QAT$0IcL$0QAT$0A\$0AD$uLazLAZL09L__LIt$ IcL$0QAT$0MS 1ۀsÃLID$ IcL$0QAT$0IcL$0QAT$0El$0 L5LLB3HHuALRIt$ IcL$0QAT$0DAL ID$ IcL$0QAT$0LID$ IcL$0QAT$0huAD$HIL}I)Mt$(LID$ IcL$0QAT$0IcL$0QAT$0AD$0EI\$(E1%L5JLe LHAT$HHuANj]Ѓ\uSI\$(McB4#t9 H=JdH+LHHu]ЅA\LeID$(McB8HրrI<{tEHuAHHD;eMHuyDeM}McAQE1LmH]HLuLMDEAQu EuEA II B4t!J-]UHSHHH]HC0H;H=d-u }H -tB-EHH[]UHAWAVATSHPIHHHE1G8G 1H=6AHt*I1L%xJ4#LHHuA~8H5o,6=,uH=e,>,HU)@,)BU,)B0HZ,HB@/,)B f"foBfHnfff:fBfB0A~8x  ,1H H H;Mu HP[A\A^A_]UHAVSHHHUht@1NuEftC { t H[A^]C PHuHktLs H5@5Hߺ1wHLBtuA96~HUHAWAVAUATSHIIHHHEWH)G0)G )G) H1HCHCHDžL LHlHCHtHCHL LHLKLAMHSLLDžL5Aă HA ;q H)H W)@HyH)H@H@HE1L=I9s.HHJ<#"HcHH H H|j=Tu#8Ht/ mH(Ht Ht 1H H H;MuH[A\A]A^A_]Bb 5bAB O_ /UHAWAVATSHHI1IAFIFHt7ALe߃ t t1ELLHuAu L E1LH[A\A^A_]UHfH]UHH5c]UHAWAVATSILc=L%MuL6IHz|~CI4LtJD9u/I<$It$AILL:L%)HcM4" L1[A\A^A_]UH]UHAWAVAUATSP~[AL5Mt~D-DqH1EE)~5E~*H]E1I<1HI9uDEH] 1JDEHI4IcHHH=aHUD=6D9=J~D=AH[A\A]A^A_]UHAWAVAUATSPH5%HHÃ=1L5#L=#L%#HHML,A} ~@ t@\u"L@ uLLH* @t HI뻿 HHMHHcyH9|H1H[A\A]A^A_]UHAVSH5$HtdILHtHHQHHŠ\tu ZH€nt ru  HHH,L1[A^]UHHtH]UH=-uH1]vUHAWAVATSH0H0uIIH5"LeA$(AD$1A8d~,Ltuڃ}uE=AH0[A\A^A_]UHtH59"1]wH51"]UHAVSIHy LTHH{0Ht L[A^]<{8HcL[A^]UHAVSHH}fGAtHu1HuDuDH[A^]UHHH HcH11[@r;t-FЃ wO$ HG$GO 9u!HcOQ;W}-w$WtG$u ߃ƿr]ÐhyUHAVSHHIHHVHNLF LN(t5)) )0)@)P)`)p)}HIHHEH0HMHHEHAHqH}@H@}*HuLHHH;EuH[A^]yUHAWAVATSHI8HuܺRAHuN} ~At)AH]IA8HHuHIuH}H]HlD3DH[A\A^A_]UHAWAVATSA2`xÍCwˀAAD2,ADžxq[tOuAGs rYE1[ujA1|dA8^D2~uAAs {Dr)t2~t-D2EHH  IcH D4D[A\A^A_]UHAWAVAUATSP1ۅAIH9pHxDAIIcHxH߾I~0t>AVAL$9u1IE1;Qu)E~$AV~HI<xAVAFAE1I>DAFD9~AFEt2IHpAVL1uH5L\H[A\A]A^A_]UHSPx,HH9q~!Hy(H HcHyH]H1H[]UHAWAVAUATSPAAIC .I;H|HxDҺILcHyLD轺~WI(HtHGHt2HGI(!H1HGHGI(IL`L1EtLDt A9uDH[A\A]A^A_]UHAWAVAUATSH1ۅAIH9pAHxDAH}DĶHcD I0Et7E9wu1ID9qu(A |D7AO)~ AOA)GAE1I?HUDAGD9|AGEt-IHpAWL1uHuLUEH[A\A]A^A_]UHAWAVAUATSHxMHUHII}0H]"1H@HHIE0AEAUtH5$L1%AE~UL5L%L=1ۅtLL1LL{LLkA;]|LeA<$A1HEELHuYË}Et"uDž`(&xE1) t uLH5E1HEKeAEHMDHHMA;M |LH5jEDHELLDHcIAt A<$6FuH`tE1u׋|LHdAE1HE=!Lmt DeH]Em D+mAE1L}L1HEDeA?tuLHu}̸ | MVMAHcIE9|1HHuӴHHË}̸ |"A)AL9uLHMA;MHEu;:EEELmHHupANj}A |AHEDA;E } EHM(=LH5E1AUB։UHHMUBщUĉEԋMBȉMЋE\@EELHufLH5ILHu˺}ELHu̺)LHDUHEDHEIcǀ<H,EEELmEMDȉM}H]D}DEDuDEuAU )LHuHMI9M uuAE )؉11AEAMUD)tH5L1LD^EA;E|AEEuA}8IE0HpHcPjI}0QIE0Hx[A\A]A^A_]UHAWAVAUATSPAIIH5Et7EI]E1CD9;mDLH5U1EIE9uH[A\A]A^A_]UHAWAVAUATSH(HHHE1= 8L u M(ӅAIHULEAH H HLAHt/IƸEEMuuE%%1u~HuĉNF1LLuA>tHLmLeLLAƋ}ĸ |N)~LLDIcA<M$u}u}~HuLEHk HH}t H5S иH uH H;MuH([A\A]A^A_]RUHAWAVAUATSPUAI1AxI$DhAt$D9t5EA1DL1Ƀ ;MuAt$DAt$D9uԉH[A\A]A^A_]ÐUHAWAVSHXHH H HMHuex7E1H11DHtxu H 1H9Ht%H5E1HL1_>LH[A^A_]Lx(UHAWAVSPIAHH5DLfHHDLH[A^A_] UHZHtH1]UHAWAVATSHH57HrAnH5HE1H1E1^HHHuI $HL8L1\EjPH1HxL1lHLH L `HuLHE1%:48H5LHH13\HHH;EuHĸ[A\A]A^A_]Q/I\qMxUHAWAVSHIIHHHEuH}t/L1@H LLo"IH L ]HuLE1H=HH;Eu H[A^A_]UHAWAVAUATSH8DMMIIIHHHEHu!ӅNHuIH!IO8HIO8H] HL1LH޺IMLDAD$H81HW@@ H@0L0L`DeD`L[CAuǾ1ECH<HC(HC HLHuLHw0LL.I@I7FHNLM7HǩHH;Eu-HH8[A\A]A^A_]LL$1薿UHAWAVAUATSH(HHnHHELHDžIAH: 8-I6H1HHAHHE1A軮tFJIE(AHx88H5gHHߺ(I@H3FHNH|L3H1HE1H11IHHLEuHtH=MIE(LLP~\HLLHHtH)H"HEtIE(LP8HHE1HlHHLHL~AHHUAHE1HHH5HHߺI@H3FHNHL3t5LLLaA~ɀ< uIcGHHAOIDAGH3FHNHL;E1HE1AA H{HH;EuDH([A\A]A^A_]RUHAWAVAUATSH(HAIH4HHEIHHLH2HHHAu+HsHLTLM:LALE1M)DI9HHG(EOLDP~XHHG(L9u@HcII@|%HI9u1HIALM9HI9tL1HLLH t'H H H;MueH([A\A]A^A_]LHuLL&IH@IuFHNLwI]1E1spUHAWAVSPIHH;\H;`HcLHI@I7FHNLM71H[A^A_]UHAWAVAUATSHHAIHHHEHźLk0Mt HC0L111ILHC(HLPHt)Lt HcȀ tQLLLQ8#tHC(HP0tACLHtLLl"AEI6FHNLHM.1HPHH;EuH[A\A]A^A_](UHAWAVATSHHAILuH3HLt]HH;H]HYIL$(LH;u#1At4ID$(H5ULtIt$LH[A\A^A_]UHAVSHHH8x7HcHEI@H3FHNH%L31[A^]UHAWAVAUATSHIAHH HHELDž\lH2HPSNAt)HӠHH;EDHĈ[A\A]A^A_]DXH+HPH1II?蘸HPL`L\L1!xiHcAD HLI@H3FHNHL#E1䃽XCIv\H`HA"L1HxH1E ԶUHAWAVAUATSHHIHHHELHzmAuL`L\LHAu|H;LXLHI}fIc$D\L`H1x2HcLCH@I7FHNLIE1 L1[ HHH;EuDHĈ[A\A]A^A_]ʵUHAWAVAUATSHIAHHHHELH\lA}H`虵xvAE~#I7\H`H` uZH5HߺEMLLkH1DHjARHH1HH1^ H H H;MuHĈ[A\A]A^A_]˴UHAWAVSPHLH2HU KAuAu聶t H1 E1DH[A^A_]UHAWAVAUATSHIHHEt`IL%CI?It$HaIHHuIH5pL1$eL11BHA IL-̷EEHExCt/C/HMLESuLIr 1}EKt/LLHH0RHcuL@LHHRIIIqCI6FHNL I1HHrIwHULMPunIwHULXIuSEȉEHExAt$A$HMA袵1y+I蘲8H5LHH1R#H[A\A]A^A_]UHAVSHH? Ht&I@H3FHNH0 L31H1[A^]UHAVSHHHHHEHHtlxHxx;tHxH) I@H3FHNH L31H1H H H;Mu HĀ[A^]rUHAVSIHH;a1uHsL[A^]UHAVSHHHG(P01@H>I@H3FHNH L31[A^]UHAWAVATSHHIuqHMMHsHqALE1A_uHE܃s"A|$1@rtrL1u,A|$u$AL$H3L ADH[A\A^A_]H5L H@I7FHNLIE1UHAWAVATSHIHLE1uQIvHHu:IvHHAuIvHuHAtRI6HUHFu+I<$HuD贰1uIt$HH[A\A^A_]øUHAVSHHH8~HH111!I>1۹11I>1۹1/H[A^]UHAWAVSHIAHHxHX]t EtI6H1U1HXHj@HĘ[A^A_]UHIЉH1]UHIЉH1]UHIЉH1]UHAWAVATSH IHuH2H;L  WHU)B{1t:uJLz9I@I4$FHNLM4$E1u蹫8 t 诫8#u;E1L109I@I4$FHNLM<$.A&j8îH5pLH1'ADH [A\A^A_]UHAVSH HHWHU)Bx11@H8I@H3FHNHL31H [A^]UHAWAVSPILt|NLH։Q9H?AwLHH@I6FHNLfIE1wHCLHNu1AwLHADžyL1ACHKCHKALHL1bADH[A^A_]UHAWAVATSHIHF(HP0E1u HC(HPtAHsLED[A\A^A_]UHAWAVSPHIHcHt!H5jLHH1H[A^A_]LHƺI@I7FHNLM7H[A^A_]UHHt HG(Ht]` 8]EUHAWAVSPIIH։>H@LLH ANjCHK LHDH[A^A_]UHAWAVATSHPHIHHHE؊FA<t <te<H1HALeA$[HsHU3L聫H<(HǐCfHALeHsL5躩L>H<(HǐCfH1ЪLH LHD#H H H;Mu HP[A\A^A_]肧UHAWAVAUATSHHMMIAՃtKtkAD$IHj1۾hLL1:LzAH}L:肪HLutDHHE1RH}LuL:YHHÉD)LvIHH=ILL=A?[u%IL]ĩHtD)L*IMuDЍ4LIWHU))B )BBDjHMLH蝧H5*H}LH1H=#dILWHU))B )BBDjHMLH5tZHJL1H5H}L1feHEHp PL货H}ЋGHMȉ辦1H.HEHp PL脧H}ЋGHMȉ莦H1L1HH[A\A]A^A_]UHSHHHHHEH|l~Hu藦x|HuH81H ҍH H;Mu HĈ[]贤UHAWAVATSAHIvt3MLDI?1tKsILD[A\A^A_]1LDHt"H@I6FHNL)I[A\A^A_]UHAWAVAUATSHLEIIIH1LMEjHE0HHt}H11}2DmIHHHBAVH1LMDMjHEpHHt2HHLOBAEH3FHNHaL+1 A>A~H1H[A\A]A^A_]UHAWAVSPHI~u@Cu:LHHt*IHtLH貥LLHsFHNLsLMCuH;蕣Hs0HtLH!HH1H[A^A_]UHHHcHH]̣UHHHcHH]釣UHHHH]BUHAWAVSPIHHE1tAH苢I?u-8#t#8t֡86t̡E185ADH[A^A_]UH諡8]UHH?]餢UHAVSIetFH5AHܮLnu"H5HH 1LE1[A^]UHAVSHH27 HtHH‹1@1H.I@H3FHNHL31[A^]UHAWAVATSHAIH21HtiIAt!L{MtHLLzuJE1LMt;LL3Du,AD$I6FHNLAM&1[A\A^A_]LLLA[A\A^A_]麉UHAWAVSPHAIH21Ht Au11H[A^A_]HSLHƹAH[A^A_]]UHAWAVAUATSHIHLzLbCAAI6HߺHIHHLuA}|HLIE~JE1HLDHME1CAVHLHME1CHUHMHLNMAE9|HEH0HL;H5HߺSI@H3FHNHL3H[A\A]A^A_]I6HLH[A\A]A^A_]oUHAVSIH211}HtLHÅxLL1+H@I6FHNLI1[A^]UHAVSIHH21HtHH[A^]骉IH5H11[A^]UHAWAVAUATSPIItIwH#LtI7L11H[A\A]A^A_]I7L1HtHULHQHtbIL11#OIă}~71IwITL1!uITILLL`KH9]I7LLgH5MLfH@I6FHNLI,UHAVSIetFH5HLiu"H5HH ǣ1LE1 [A^]UHAVSH;HH)I@H3FHNH L31[A^]UHAWAVSHHAIHHHE)PH2HH3t'H H H;MHĨ[A^A_]øAtAHHPLDHtHHHhPtHh Hh3Ht]HXHpdHuHt=HpLH@I6FHNLI1H5LJH@I6FHNLI蟚UHAVSH1HH(I@H3FHNHVL31[A^]UHAVSI1CHS㥛 HHH?HHL'H@I6FHNLI1[A^]UHAWAVATSHPI׉I1襝HEW)EAIWHMLtnH}tmH}H]H荛I?^HuHHHt8tLH5bLH@I6FHNL3IADHP[A\A^A_]Ã}EPH 1MʋU@)lIHcHiQHH?H'ipliəHcHigfffHH?H!imHiQH%Mi:)HcHcMHiHcUHk)IL(tMuA I~E1Luu7HEt0IFHt'Lp1I)IIHMLu1HEI^HLILhL9+H;C}H0mIHt5H H9u1HHB0HtHHH9uHN0HH@0IDHHs(LSHC Ht Hs(LH1HALHHlDHĨ[A\A]A^A_]W)@)P)`)p))))))))))) )0)@)P)`)p)E)E)E)EML@AEt*EeDL1tIc̸H @AEt.EeDH1ޏtIc̸H AEt.EeDH@1詏tIc̸H @AE9LMm MOLu1HuHx,H4ׂCHHHL0Ii@B)ApE1H@HH@ E1iIH]E1Lc+CAt2DH@1ڎtLH@ADrE1Ct-DH1袎tLHDsACt/DH@1otLH@DsA EHsLDStLDDDH@1tDLH!@DH1LutDLH!ADH@1贍tDIB!@LH LuHH}E18H5LH@I7FHNLBIA6UHAWAVSPHe~AH53HnAH߹gZHzE1 1IW@H5HmHH|#H5HHLE1 H5HHLE1H5HHLE1DH[A^A_]UHAWAVAUATSPIIHHt.L%úHCLk Ht HsLH1A$LMuI^Ht.L%HC Lk0Ht Hs(LH1A$LMuH^HL1H[A\A]A^A_]UHAWAVAUATSPI։ILuIvHLl1Ʌ1ɰ)˃LE׉ItL12 IHAD$CLÅDmEu IHHIvL1 Mt HMuHuMtHtLHPtfA@tIHuXLYÅyCH ALLrzI?1Auh4LpIGHMtAD$HAL$ LL7At)I(CI7FHNL IE1DH[A\A]A^A_]UHAWAVATSHILEuAD$Li1HIփ$IvHHMLE1AUxt+H LLqH[A\A^A_]ûUHAWAVAUATSH8IIHDrHHELHEE"H ALL qIt$HUL$t\It$HULnHMALA{wM(AFI7FHNL~M7!uEYqH,IEE1H6H mHcHH I]L11IHtGL5LmH LL1LLVLLH&H[0HuAD$I7FHNLM' H 5SILL1@EY pH,HLLHmHL11IHLHƹLHH@LLHSCHK LHAFI7FHNLM7E1I|$HLHHx{LHH@I7FHNLcILI|$HI]HH9H[0H .LL3nAHoHH;E%DH8[A\A]A^A_]ILL,0II]Ht&L- L9kuHs(L@u>H[0HuLLHH9Ct:IT$H5lL1JYHLLcHH@E1L11IHS(LH$H{HH5HDLLLH#AD$I7FHNLM'HYUH]UHFHN]]UHAVSHgHH5GHHu(HLuHL D1HHI H[A^]UHAWAVATSHe~uAH5HlAH߹eQHxE11IW@H5H\L%HHM-AGH5HHLM H5H,H1E1D[A\A^A_]UHAWAVAUATSH8I։ID{MDI4HšL IHMLLE1E1LeL11ILu]Ѕt(]E1Kc4LBLLHv!IL9uAGIuFHNLM}H}uLSHE1L1 IHMLELMLDLcAH51L1uHEt#LH4yH5L~]H5HL1dHE@H]E1HELmMEE1EF1AIH1[A^]UHAWAVAUATSHLuyE1MuEf EhIAE1L}Ct;L虃~AN "IcH@HIH9t KHH HAH AAI׉IE1|IwHL1E1AAD$9urDItHULLA}HuDtXAHuHyIcHuȋUH1INjEШtKLDM>H yLALfBHEUHH1gIAGH3FHNH[L;E1DH[A\A]A^A_]UHAWAVSPIu6HcL I@I7FHNLM71H [LeH[A^A_]UHAWAVAUATSHMLH(HUAHfHHEEH}LL%"HcH41A$HXHtL0H`MtALxHEEAFpE1HhDžLE1HPEE11HE1HEE1IcHEH<u AE<@a<>qETLH5 tLH5u%EA9 D;pLDeIcAHXL,?DIELH1A}>@HEF|/1A&H1<@DHP@H2<uAE9}IcHMHr9EtI>rDuDErDq}t8L5vZI>dr9Et$I>WrDuD rD;ut}q}t2L5(ZI>&r9EtI>rDuDqDqH`tH`8tbqHxtHx8tEq}ȃt8q}t}*qI<$LlqL5YI>qH5ͳbtHt6I>sqI4$IcՉGtHtI>XqH5't9pUH~@DG ALHL@E1E~BH1;1t H I9uL1IM9u]UHAWAVAUATSHHIH XH HMH5pHtXHE1LLHpIE~LHLDAAtH0pAH=XHH;EuDH[A\A]A^A_]oUHAWAVSH(HHXHHEAeL}IH5WHߺJIGH߾L uH3HUHuDuHWHH;EuDH([A^A_]ynUHDO E~CLLL92t H Hu+AɃtIcH@ALJIHDO ADO 1]UHAWAVAUATSHỈII11IM~]]ЃH5ELILLH LL2LLHf ELEH5:LLLH9 LLLLH LHH4HEHΰHEH5 SHEHHEH5LLLH Mt7RHHyLyLLHMI1jSNHLL,LLH` LHuк LLHA LH[A\A]A^A_]UHAWAVATSH HIIHSUHHE11IHc HLH HKHLLKHLLKH¯LLKHLLKHLLHK`HٚLLHK HzLLuHK0HjLL_HK@HZLLIHis0@BHS㥛 Hk8HH?HHHH'LLH59LLLH {6LHƺlLLH MtVLL1Ht6HUHLrLUHthHH2LLILLLqAFI4$FHNLXM4$1H _SH H;Mu3H [A\A^A_]H58LL1LLjUHAWAVSPIIHHֺwHLHHL`HLHH[A^A_]wUH HuH]HUHAVSHeZAt~H5HvAH߹6uYH5nHH qE1HE1H5PH0H1E1H59HH1E1|D[A^]UHAWAVATSHL%k1A$IƾHHߺI@H3FHNHFL;L1A$[A\A^A_]UHAWAVSPIuBHzIHhtEg8PkH5ˮLLH1H hLO1ۉH[A^A_]UHAVSHHH2H`|u0HuHI@H3FHNHVL31HĐ[A^]UHAVSHHIu>HsH`LnumH;Hi`@BLHBMH3H`Lu0HuLTH@I6FHNL覿I1HĐ[A^]UHAVSHHIu>HsH`LH;1H`LHpH3H`LuSHiM@BHS㥛 HmHH?HHHLH@I6FHNLӾI1HĐ[A^]UHAWAVSPIAHH5L+HHDLH[A^A_]5UHAWAVSPIH2oIHBHHǾ/hHt6xt9H)tVNЃ|HA| /HtLH:H5)AFI7FHNLM76H5lLfH@I7FHNL躽IAFHAN LL蜽1H[A^A_]UHAWAVATSIIH:UHHǾ/gIH߾.gHt Mt I9vIC)LHމ轿H@I6FHNLI1[A\A^A_]UHAWAVATSIH2 IHHHǾ/^gIH߾.NgHt Mt I9rH|LHƺ)H@I7FHNL}IAFHAN LL_1[A\A^A_]UHAWAVSPHH2@ IHHǾ/fHt7HHHƺ蜾I@H3FHNHL; AFH3FHNHλL3AFHAN HL谻1H[A^A_]UHAWAVAUATSPHI118IH;ZIĀ8/u"H5LLLH"L/t5.uHt$/uHEHtA|/tA/HHuE1HcUHt#I<H L)H}nHbHcEHH|A|/u ADHIM9fALuLLkH@I6FHNLI1ML1HyH5H]HߺPI@H3FHNH褸L3H[A\A]A^A_]UHH21]UHH21]UHH21]UHH211]UHAWAVAUATSPHAIH2H AąuH3HyLtAH1EtmH;¹IHbuG^8t=Lau0EtHLH50LHƺH.uAHEu1H[A\A]A^A_]f^8aH5KLLH1 UHAWAVAUATSPtGIH}AE1KLLH1H[A^A_]UHAVSH0HHIH@HHEH4ׂCHHHH?HHHuHHVi@B)NNH?[t*@W8ZH5LHH11H *@H H;Mu H0[A^] WUHAWAVSPIIH裱L輱مۺNH΃|H~|0/Htlj9tLH5IAGLH[A^A_]UHAVSIH^HljV1@LH@I6FHNLEI[A^]UHAWAVATSHIlXtXAAV8uXAt@L/~YHtHL9tLu/LXuE1DHĐ[A\A^A_]UA8uHPLXuT%=@tmUUHAWAVSPHIIH-HHgW1u(1U8XH5LLH1H[A^A_]UHAVSIeVFtFH5HIbLC"u"H5ʛH.H |a1LE13[A^]UHH:oH蕔1]UHAVSHIH:+tH31L1[A^]UHAWAVATSHAIH:LHHtBLHƺuIAuiHsLLtxLLAE1ALHZH@I7FHNL謬IZAFI7FHNL芬M75L9HcLH@I7FHNLSIE1D[A\A^A_]UHAVSHHu$H2HUHu>}蛓2螓HcHI@H3FHNH۫L31H[A^]UHH:蠭H輒1]UHH:舭H踒1]UHՒ1]UHAVSIeCtAH5H_LuH5H1L1E1[A^]UHAWAVATSH0HH%;HHE؃ IH>LH]LHH]LH H>]LHH ]LHHLHH5E1L1HHHK8HHK8HטLe"L1sTHLHLLHL贬HHϾI@H3FHNHL;H XiAH߾8H9HH;EuDH0[A\A^A_]PUHAVSHIHH1 Ht/HqHt"LHƺ LHH[A^][A^]UHAWAVSPIAHH5^DLUHHDLH[A^A_]UHH]UHAWAVATSHILOIH]HHuLHiHLLΨCLH ANjCHK LH褨I>H]H!LHH@I4$FHNLhI$DH[A\A^A_]UHH2]UHAWAVSPILHBVHH@I?H"L,LHH芾1H[A^A_]UHAWAVAUATSHIAIH5/HHLuIH{IA|:EAKIM9uAD$HLAAD$HAL$ HL5H;H]H貨H]HH袩I@H3FHNHL3DH[A\A]A^A_]MUHSPHH5/KQSHHH[]騦H[]UHAVSIe>tRH5MHZLu.H5.H'1L1E1ҼH5L1'^]UHAWAVAUATSHIAWEEp`PHEH5ϔH}Ⱥ`HH@Et$AHA1HEEMcK4H}HZHME1AQ;EttuFHE;E2EeKD@KQSIH}H*KHAE9qEԉdHHHEh AEE9IcIIHc I ̃;}|uE1#H9HLAE1E1߾C9HcH HU (DHr1I IM9uD u<E1E1H}DAtIHcHIHH9rP~ID}1E1A<8HcH HU H¸HBI HI9uE1uw&HM@tAHH1IHBĨuH} u%LeY1ɅZDLL8fInLeH@IuFHNLI]E1UHAWAVAUATSHXIԉIHECrH ,ALL+It$HFHMALE1At%tDHX[A\A]A^A_]ËEԃwIt$HULMuыEԃuIt$HUL(uIt$ HULuHEH~Mԃu ƒHu t'H@v!IT$ H5AL1ӦAUu H tH@u˃u>It$(HUL#HEHx}uHtIT$(H5ĀIt$L誴HtIŃx|(LLEH5ML1IŰEELHcHuHuH9~+L=MLLL輑HHuHuH9LH@I6FHNLIH>MLL1mEԉuBH} u+ZEEHE茾1ɅEDH] H]oH]EԃLmt=upMmH}EHMȨHIHcA|uM}HuHMHEAIHA4=HEHHHHIHHEHXHHIHMHH]I|$聎HH9~I|$pHHEI]H]I|${HUHH5HUE1H}߾$4H}HcH (AL5 LBAL5IL9}u`~\HEE1HMB<)H3HHcHH A  LBA HMIL9muIt$LH]H觪ME1LH苋UHAWAVAUATSPAIIIHH/Ht+H@8t"AAt'H5}LL1HLLeE1DH[A\A]A^A_]UHAWAVAUATSH8AIIH(CH7FHNL͊IIHL芈Ht:HpL/H@I6FHNL胊I1MEH5IL1бEHLuILmH]D}H_1HELLLE1L}LIDaH؋IžLH|HLE13L0LH5|4tH}H|LILE13LmLHg|HM13L0t/AD9LLuBH}1H^D}LmLeMD}LmHHH}L1L.3HMtH5{H73tLuLLLm=MAFLuLLEAD$HAL$ LL蘈LmEH&^tiELLmL葄H}1At7L}I?IHGH DHDH5zLM1EH8[A\A]A^A_]H}1H|<LH]H1wLHą:UHH5zHRmH `>E1\1]UHSPHH:薉H<HHƹH[]UHSPHGH:eHHƺH[]fUHAWAVSPH11 IH芅IH譅Ht#H0Hߺ踉HLHLH\L1AFH3FHNHL31H[A^A_]UHAVSHe,AH5yH;AH߹uoH5yHiE1H1E1H5yHH1E1H5M_HH1E1ќH5oyHH1E1趜D[A^]UHAWAVSPIu;;.tLHcL膺I@I7FHNL؅M71(H 1EL LFH[A^A_]UHAVSHPHHHHEH5XpHߺLuI!.HܹIFH5xHߺ‡IF-H豹IFH5pHߺ藇IF -H膹IF(H50xHߺlIF0d-H[IF8HLjI@H3FHNH虄L3E1H CAH߾HHH;Eu DHP[A^]d+UHAWAVSPIu[HY1IƾH,tQLLkI@I7FHNLM71/H ICLL^L1H[A^A_]UHAVSH1p.HH I@H3FHNHrL31[A^]UHAVSHU*8-HHƺυI@H3FHNH#L3[A^]UHAWAVATSI։Iu(IvHyNL1ɅAH)E1t&Eu!H vLLI<~H+HHL111IH(,Ht-HH5aLW1ɅHIL$Ѓ LuL}sLAȃsD^A1L5CL=aJ|3HIDHLt,AHHuH5(aH}HU1.ADH[A\A]A^A_]UHHщ]UHHщ]UHHщ]vUHHщ1]eUHAWAVAUATSPIAI~I7HaLx1ɅE1EHD9},AE1KJt#HH]^HDLmlLLH裯HHuH(HEHEHEE1AEEHEJHHyALHuHMH5^AHtL1HHD)IL9}01H8[A\A]A^A_]UHHH AH ]UHHH >]UHAWAVAUATSHHI}"H n^ALH\eMNI AHuH}AAJ4LHk^tt6J|iHH5 $A9GAGuJ4LH9^tt#JtLHUEAG;J4LH^ktJ|Ai H}HAG+A?t AIDE9H}HuȸE1A9:A9AA?À?H}H5dL1EHHh LuLH/LH5]L&iH@I6FHNLzfIAD;et3DH<9hH5$Ht H:HH1H[]UHAWAVAUATSPHIIfAHfILHfD9~LLDgHCLLH19mANjCHK LHdDH[A\A]A^A_]UHAVSIetAH5[HLuH5v[H1L1E1z[A^]UHAWAVAUATSHXIIH 1UALL>It$H}"HMLE1A}t)It$HX"LADHX[A\A]A^A_]AELet5uσ+H ZLL[A맃It$LtIt$LAID$HE1E1HEL}DmIt$L7ILHuHHEHtnLIdILLdA1A9Et3E9t.LHuHILHuHIŋMAG;MtDD}L}LeDmLLHEE1HEEL-,>1HELmHcI4LHHMMAkEtt/uEe?D9HcI)%@)%B)%D)%F)%H)%J)%L)%N)%P)%R)%T)%V)%X)%Z)%\)%^)%`)%b)%d)%f)%h)%j)%l)%n)%p)%r)%t)%v)%x)%z)%|)%~)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%)%*%*%*%*%*% *% *%*%*%*%*%*%*%*%*%*% *%"*%$*%&*%(*%**%,*%.*%0*%2*%4*%6*%8*%:*%<*%>*%@*%B*%D*%F*%H*%J*%L*%N*%P*%R*%T*%V*%X*%Z*%\*%^*%`*%b*%d*%f*%h*%j*%l*%n*%p*%r*%t*%v*%x*%z*%|*%~*%*%*L*AS%yhhh)h8h^hmhhhhhhxhnhdhZhPhFh*h?4hL*h[ hkhz hhhhhhhh hh*h8hJhXhghtvhlhbhXhNhDh:h0h&hhh"h1h@hPh_hmh}hhhhhhhh|hrhhh#^h1Th?JhL@hY6hq,h"hhhhhhhhhh2hBhShehqh~hhxhnhdhZhPhFh hnot enough arguments for all format specifiersformat string ended in middle of field specifier%ld.%ldformat too longbad field specifier "%s"jim.c::can't delete "%#s": command doesn't existcan't rename "%#s": command doesn't existcan't rename to "%#s": command already existscan't rename local command "%#s"invalid command name "%#s"bad variable name "%#s": upvar won't create a scalar variable that looks like an array elementvariable "%#s" already existsbad variable name "%#s": upvar won't create namespace variable that refers to procedure variablecan't upvar from variable to itselfcan't read "%#s": no such variablecan't unset "%#s": no such variable.%020lu>intexpected integer but got "%#s"Integer value too big to be representedsourcecoerced-doubledoubleNaN-InfInf%.12gexpected floating-point number but got "%#s"expected boolean but got "%#s"trueyesonfalsenoofflistListEnsureLengthidx >= 0missing value to go with keydictJimDictHashFindtvoffsetindexend%dend%dbad index "%#s": must be intexpr or end?[+-]intexpr?okerrorreturnbreakcontinuesignalexitevalreturn-codeexpected return code but got "%#s"*/%+<<>><<<>>><><=>===!=&^|&&||**eqneinniltgtlege!~ - +wideabsroundrandsrandsincostanasinacosatanatan2sinhcoshtanhceilfloorexploglog10sqrtpowhypotfmodexponentiation of zero by negative powerDivision by zerosyntax error in expression: "%#s"eENnIi.nanNANinfINFunmatched "["missing close-braceextra characters after close-bracemissing quotemissing close parenthesisExprTreeCreateTreeexpr->len <= tokenlist->count - 1Expression too complexunexpected open parenthesis in expression: "%#s"unexpected closing parenthesis in expression: "%#s"unexpected comma in expression: "%#s"too many arguments to math function: without ? in expression: "%#s"missing arguments for math functiontoo many arguments for math functionmissing operand to %s in expression: "%#s"missing operator in expression: "%#s"too %s arguments for math functionfewmanyempty expressionsyntax error in expression "%#s": premature end of expressionextra terms after expressionexpressionInfinite eval recursionproccmd ...??arg ...?wrong # args: should be "%#s%#s"varName ?increment?variablescriptaliasputsincrwhileloopforforeachlmaplassignifswitchlindexlsetlsearchllengthlappendlinsertlreplacelsortappenduplevelexprxtraceconcatupvarglobaltimetimeratecatchtryrefgetrefsetreffinalizecollectrenamesubstinfoexistssplitjoinformatscanlrangelrepeatenvlreverserangetailcalllocalupcallapplynewname command ?args ...?varName ?newValue?-nocomplain?-nonewline? string-nonewlineThe second argument must be -nonewlinenumber ?number ... number?condition bodyvar ?first? limit ?incr? bodystart test next bodyvarList list ?varList list ...? scriptforeach varlist is emptyvarList list ?varName ...?thenelseelseifcondition ?then? trueBody ?elseif ...? ?else? falseBody?options? string pattern body ... ?default body? or {pattern body ?pattern body ...?}-exact-glob-regexp-commandbad option "%#s": must be -exact, -glob, -regexp, -command procname or --defaultregexpno body specified for pattern "%#s"list ?index ...?element %#s missing from sublist "%#s"listVar ?index ...? value-bool-not-all-inline-stride-index?-exact|-glob|-regexp|-command 'command'? ?-bool|-inline? ?-not? ?-nocase? ?-all? ?-stride len? ?-index val? list valuestride length must be at least 1list size must be a multiple of the stride lengthvarName ?value value ...?list index ?element ...?list first last ?element ...?-ascii-increasing-decreasing-integer-real-unique?options? list"-command" option must be followed by comparison commandstride length must be at least 2"-index" option must be followed by list indexvarName ?value ...?arg ?arg ...??level? command ?arg ...?name arglist ?statics? bodyJimCreateProcedureCmdcmdPtrargument with no nametoo many fields in argument specifier "%#s"args'args' specified more than oncevariable for initialization of static "%#s" not found in the local contextstatic variable name "%#s" duplicated in statics listtoo many fields in static specifier "%#s"callback-code-errorinfo-errorcode-levelbad level "%#s"?-code code? ?-errorinfo stacktrace? ?-level level? ?result?errorCode?level? otherVar localVar ?otherVar localVar ...?varName ?varName ...?bytelengthlengthcomparematchequalisbyterangereplacemaprepeatreversefirstlastcattrimtrimlefttrimrighttolowertouppertotitle-lengthoption ?arguments ...??-nocase? ?-length int? string1 string2?-nocase? pattern string?-nocase? mapList stringstring first laststring first last ?string?string countJim_StringCoreCommandbufstring indexsubString string ?index?string ?trimchars?-strictclass ?-strict? strlist must contain an even number of elementsintegeralphaalnumasciidigitlowerupperspacexdigitcontrolprintgraphpunctbooleanclassscript ?count? microseconds per iterationscript ?milliseconds?us_per_iteriters_per_seccountelapsed_us?exitCode??-?no?code ... --? script ?resultVarName? ?optionVarName??-?no?code ... --? script ?on|trap codes vars script? ... ?finally script?NONE-notrapfinallyhandlerstring tag ?finalizer?reference newValuereference ?finalizerProc?oldName newNamecreategetkeyssizemergewithremovevaluesupdategetwithdefaultsubcommand ?arguments ...?subcommandgetdefdictionary ?key ...?dictionary ?key ...? key defaultvarName key ?key ...? valuedictionary key ?key ...?varName key ?key ...?dictionary ?pattern?dictionary?key value ...?dictVar ?key ...? script-nobackslashes-nocommands-novariables?options? stringbodystaticscommandsprocschannelsglobalslevelframelocalsvarsversionpatchlevelcompletehostnamestacktracenameofexecutablereturncodesreferences-nonssubcommand ?args ...?varNamecommand "%#s" is not an alias?pattern?namespace infosource ?filename line??levelNum?procnamecommand "%#s" is not a procedure%d.%dscript ?missing?os.gethostname{info nameofexecutable}?code?typelinefile*[?\-proc-alias-var?option? namestring ?splitChars? list ?joinString?formatString ?arg arg ...?string format ?varName varName ...?"%n$" argument index out of rangedifferent numbers of variable names and field specifiersvariable is not assigned by any conversion specifiersscanformatstring%d%ncannot mix "%" and "%n$" conversion specifiersvariable is assigned by multiple "%n$" conversion specifiers"%n$" conversion specifier is negativeunmatched [ in format stringhlLmissing scan conversion characterefgcsndoxuibad scan conversion characterfield width may not be specified in %c conversionunsigned wide not supportedmessage ?stacktrace?list first lastcount ?value ...?varName ?default?environment variable "%#s" does not existfileName?start? end ?step?Invalid (infinite?) range specified?min? maxInvalid arguments (max < min)tailcall can only be called from a proc or lambdacmd ?args ...?no previous command: "%#s"lambdaExpr ?arg ...?can't interpret "%#s" as a lambda expressionapply lambdaExprget-enumoption%s%s "%s": must be or , utf8_prev_lenutf8.clen > 0successno matchbad patternnull argumentunknown errortoo bigout of memorytoo many ()parentheses () not balancedbraces {} not balancedinvalid repetition count(s)extra characters*+ of empty atomnested countinternal errorcount follows nothinginvalid escape \ sequencecorrupted programcontains null charbrackets [] not balancedBad error code:alpha::alnum::space::blank::upper::lower::digit::xdigit::cntrl::graph::print::punct: ^$.[()|?{+*<>mMwWdDsSAZ%s: %sTMPDIR/tmp/tcl.tmp.XXXXXX\\\n\rlinenoise.csb_delete_spacepos + len <= sb->lastTERMdumbcons25emacsqueryCursorcurrent->output == NULL [%dC outputFormattedn < (int)sizeof(buf)refreshStart[%dB[%dA[%d%c(reverse-i-search)'%s':  paritydatastopxonxoffrtsctshandshakeinputoutputvminvtimebaudsettingbad value for %#s: %#sevenodd56782rawcookedechoNot a filehandle: "%#s"aioopensocketpipestdinrstdoutwstderrread?-nonewline|-pending|len?copytohandle ?size?getfdgets?var??-nonewline? strisattyrecvfromlen ?addrvar?sendtostr addressaccept?addrvar?listenbacklogsockopt?opt 0|1?socknamepeernameflusheofclose?r(ead)|w(rite)?seekoffset ?start|current|endtellfilenamendelay?0|1?syncbufferingnone|line|fullstatreadable?readable-script?writable?writable-script?onexception?exception-script?lock?-wait?unlocktty?baud rate? ?data bits? ?stop bits? ?parity even|odd|none? ?handshake xonxoff|rtscts|none? ?input raw|cooked? ?output raw|cooked? ?echo 0|1? ?vmin n? ?vtime n?-pending-pending not supported on this connection typeinvalid parameter: negative len%#s: %s]:%d:%dNot a valid address: %s:%s0.0.0.0Not a valid address: %saio.sockstream%ldr+Failed to set %#s: %sUnknown sockopt %#sbroadcastdebugkeepalivenosigpipeoobinlinesndbufrcvbuftcp_nodelay-nodeletenot supportedstartcurrentnonefull-waitlock failed: %sfilename ?mode?::popenRDONLYWRONLYRDWRAPPENDBINARYCREATEXCLNOCTTYTRUNCw+access modeJimAioOpenCommandjim-aio.cmodeaio.handle%ldunix.serverunix.dgramunix.dgram.serverdgramdgram.serverstreamstream.serverpairpty-async-ipv6?-async? ?-ipv6? type ?address?socket typeaio.sockpair%ldUnsupported socket type%s: bind: %s%s: connect: %slisten: %saio.sock%ldaio.pty%ldaio.pipe%ldJimMakeChannelfd >= 0arrayarrayNamearrayName ?pattern?arrayName listlist must have an even number of elements"%#s" isn't an arrayclockclicksseconds ?-format string? ?-gmt boolean?microsecondsmillisecondsstr -format format ?-gmt boolean?seconds%a %b %d %H:%M:%S %Z %Yformat string too long or invalid time-gmt-formatFailed to parse time according to formateventloopbgerrornon-waitable filehandlevwaitafter-signal?-signal? nameidletasks?idletasks?cancelidleoption ?arg ...?argumentscript ?script ...?after#id|commandafter#%lldtimerevent "%#s" doesn't exist?id?execwaitpiderror reading from output pipeerror reading from error pipe|&illegal use of | or |& in commandcan't specify "%s" as last word in commanddidn't specify command to executecouldn't write temp filecouldn't write file "%s": %scouldn't create output pipemissing command to execcouldn't create pipecouldn't fork child processcouldn't exec "" %s=%sCHILDSTATUSCHILDKILLEDkilledCHILDSUSPsuspendedchild by signal -nohang?-nohang? ?pid?devinonlinkuidgidatimemtimectimemtimeuscan't set "%#s(dev)": variable isn't arraypwdcddirectorycharacterSpecialblockSpecialfifolinknamename ?time?copy?-force? source destdirnamerootnameextensiontailnormalizename ?name ...?executabledelete?-force|--? name ...mkdirdir ...tempfile?template??-symbolic|-hard? newname targetreadlinkname ?var?lstatownedisdirectoryisfilecould not read "%#s": %scan't set time on "%s": %sfile copycan't normalize "%#s": %sPath too long-forcefile delete forcecouldn't delete file "%s": %scan't create directory "%#s": %serror renaming "%#s" to "%#s": target existserror renaming "%#s" to "%#s": %s-hard-symbolicerror linking "%#s" to "%#s": %scould not read link "%#s": %sFailed to get pwdcouldn't change working directory to "%s": %shistoryaddcompletiongetlineprompt ?varname?keep?count?saveshowinterpjim::exeinterp.parentinterp.handle%ldscript ...childcmd parentcmd ?arg ...?JimInterpAliasProcjim-interp.cparentjsonjson::decodejsonencodenullempty JSON string-null-schema?-index? ?-null nullvalue? ?-schema? jsoninvalid JSON stringtruncated JSON stringroot element must be an object or an arrayjson_decode_get_typejim-json.cboolobjmixedstrnumjson_decode_add_schema_typetype >= 0 && type < JSON_MAX_TYPEerror loading extension "%s": %sJim_%.*sInitNo %s symbol found in extension %sload::handlesloadlibraryFileJimCanonicalNamespacejim-namespace.cnameObj->refCount != 0nsObj->refCount != 0can't define "%#s": name refers to an element in an arraynamespacecanonicalqualifiersorigincodeinscopeimportexportwhichsubcommand ?arg ...?name arg ?arg...??current? ?name??name?name ?value?packunpack-intbe-intle-uintbe-uintle-floatbe-floatle-strbinvalue -intbe|-intle|-uintbe|-uintle|-floatbe|-floatle|-str bitpos bitwidthbad bitoffset: %#sbad bitwidth: %#svarName value -intle|-intbe|-floatle|-floatbe|-str bitwidth ?bitoffset?package "%s" was already provided%#s%sCan't load package %spackage.tcl%s/%s.so.%s.tcl%s/%s.tclprovidename ?version?requirenamesposixos.forkos.getidsos.uptimeeuidegid?-nocomplain? dirPathreaddir-indices-line-start?-switch ...? exp string ?matchVar? ?subMatchVar ...?regexp match variables not allowed when using -inlineerror while matching pattern: %s?-switch ...? exp string subSpec ?varName?regsubcouldn't compile regular expression pattern: %sunknown signalalarmkillsleep?SIG|-0? pid-0kill: Failed to deliver signalsigunknown signal %sSIGABRTSIGALRMSIGBUSSIGCHLDSIGCONTSIGFPESIGHUPSIGILLSIGINTSIGIOSIGKILLSIGPIPESIGPROFSIGQUITSIGSEGVSIGSTOPSIGSYSSIGTERMSIGTRAPSIGTSTPSIGTTINSIGTTOUSIGURGSIGUSR1SIGUSR2SIGVTALRMSIGWINCHSIGXCPUSIGXFSZSIGEMTSIGINFOhandle?signals ...?ignoreblockcheck?-clear? ?signals ...?throw?signal?-clear?-facility cron|daemon|...? ?-ident string? ?-options int? ?debug|info|...? message-facilityUnknown facility-options-identUnknown priorityTcl scriptsyslogkernelusermaildaemonlprnewsuucpcronauthprivlocal0local1local2local3local4local5local6local7emergalertcritwarningnoticetclprefixtcl::prefixalllongest-error-message?options? table stringmissing error optionserror options must have an even number of elementsmissing messagebad %s "%#s": no valid optionsreturn -level 0 -code errortable stringbinarybinary.tcl package require pack package require regexp proc binary {cmd args} { tailcall "binary $cmd" {*}$args } proc "binary format" {formatString args} { set bitoffset 0 set result {} foreach {conv t u n} [regexp -all -inline {([^[:space:]])(u)?([*0-9]*)} $formatString] { switch -exact -- $t { a - A { set value [binary::nextarg args] set sn [string bytelength $value] if {$n ne "*"} { if {$n eq ""} { set n 1 } if {$n > $sn} { append value [string repeat [dict get {A " " a \x00} $t] $($n - $sn)] } } else { set n $sn } if {$n} { set bitoffset [pack result $value -str $(8 * $n) $bitoffset] } } x { if {$n eq "*"} { return -code error {cannot use "*" in format string with "x"} } if {$n eq ""} { set n 1 } loop i 0 $n { set bitoffset [pack result 0 -intbe 8 $bitoffset] } } @ { if {$n eq ""} { return -code error {missing count for "@" field specifier} } if {$n eq "*"} { set bitoffset $(8 * [string bytelength $result]) } else { set max [string bytelength $result] append result [string repeat \x00 $($n - $max)] set bitoffset $(8 * $n) } } X { if {$n eq "*"} { set bitoffset 0 } elseif {$n eq ""} { incr bitoffset -8 } else { incr bitoffset $($n * -8) } if {$bitoffset < 0} { set bitoffset 0 } } default { if {![info exists ::binary::scalarinfo($t)]} { return -code error "bad field specifier \"$t\"" } lassign $::binary::scalarinfo($t) type convtype size prefix set value [binary::nextarg args] if {$type in {bin hex}} { set value [split $value {}] } set vn [llength $value] if {$n eq "*"} { set n $vn } elseif {$n eq ""} { set n 1 set value [list $value] } elseif {$vn < $n} { if {$type in {bin hex}} { lappend value {*}[lrepeat $($n - $vn) 0] } else { return -code error "number of elements in list does not match count" } } elseif {$vn > $n} { set value [lrange $value 0 $n-1] } set convtype -$::binary::convtype($convtype) foreach v $value { set bitoffset [pack result $prefix$v $convtype $size $bitoffset] } if {$bitoffset % 8} { set bitoffset [pack result 0 $convtype $(8 - $bitoffset % 8) $bitoffset] } } } } return $result } proc "binary scan" {value formatString {args varName}} { set bitoffset 0 set count 0 foreach {conv t u n} [regexp -all -inline {([^[:space:]])(u)?([*0-9]*)} $formatString] { set rembytes $([string bytelength $value] - $bitoffset / 8) switch -exact -- $t { a - A { if {$n eq "*"} { set n $rembytes } elseif {$n eq ""} { set n 1 } if {$n > $rembytes} { break } set var [binary::nextarg varName] set result [unpack $value -str $bitoffset $($n * 8)] incr bitoffset $([string bytelength $result] * 8) if {$t eq "A"} { set result [string trimright $result] } } x { if {$n eq "*"} { set n $rembytes } elseif {$n eq ""} { set n 1 } if {$n > $rembytes} { set n $rembytes } incr bitoffset $($n * 8) continue } X { if {$n eq "*"} { set bitoffset 0 continue } if {$n eq ""} { set n 1 } if {$n * 8 > $bitoffset} { set bitoffset 0 continue } incr bitoffset -$($n * 8) continue } @ { if {$n eq ""} { return -code error {missing count for "@" field specifier} } if {$n eq "*" || $n > $rembytes + $bitoffset / 8} { incr bitoffset $($rembytes * 8) } elseif {$n < 0} { set bitoffset 0 } else { set bitoffset $($n * 8) } continue } default { if {![info exists ::binary::scalarinfo($t)]} { return -code error "bad field specifier \"$t\"" } lassign $::binary::scalarinfo($t) type convtype size prefix set var [binary::nextarg varName] if {$n eq "*"} { set n $($rembytes * 8 / $size) } else { if {$n eq ""} { set n 1 } } if {$n * $size > $rembytes * 8} { break } if {$type in {hex bin}} { set u u } set convtype -$u$::binary::convtype($convtype) set result {} loop i 0 $n { set v [unpack $value $convtype $bitoffset $size] if {$type in {bin hex}} { append result [lindex {0 1 2 3 4 5 6 7 8 9 a b c d e f} $v] } else { lappend result $v } incr bitoffset $size } if {$bitoffset % 8} { incr bitoffset $(8 - ($bitoffset % 8)) } } } uplevel 1 [list set $var $result] incr count } return $count } proc binary::nextarg {&arglist} { if {[llength $arglist] == 0} { return -level 2 -code error "not enough arguments for all format specifiers" } set arglist [lassign $arglist arg] return $arg } set binary::scalarinfo { c {int be 8} s {int le 16} t {int host 16} S {int be 16} i {int le 32} I {int be 32} n {int host 32} w {int le 64} W {int be 64} m {int host 64} h {hex le 4 0x} H {hex be 4 0x} b {bin le 1} B {bin be 1} r {float fle 32} R {float fbe 32} f {float fhost 32} q {float fle 64} Q {float fbe 64} d {float fhost 64} } set binary::convtype { be intbe le intle fbe floatbe fle floatle } if {$::tcl_platform(byteOrder) eq "bigEndian"} { array set binary::convtype {host intbe fhost floatbe} } else { array set binary::convtype {host intle fhost floatle} } ensembleensemble.tcl proc ensemble {command args} { set autoprefix "$command " set badopts "should be \"ensemble command ?-automap prefix?\"" if {[llength $args] % 2 != 0} { return -code error "wrong # args: $badopts" } foreach {opt value} $args { switch -- $opt { -automap { set autoprefix $value } default { return -code error "wrong # args: $badopts" } } } proc $command {subcmd args} {autoprefix {mapping {}}} { if {![dict exists $mapping $subcmd]} { if {$subcmd in {-commands -help}} { set prefixlen [string length $autoprefix] set subcmds [lmap p [lsort [info commands $autoprefix*]] { string range $p $prefixlen end }] if {$subcmd eq "-commands"} { return $subcmds } set command [lindex [info level 0] 0] return "Usage: \"$command command ... \", where command is one of: [join $subcmds ", "]" } dict set mapping $subcmd ${autoprefix}$subcmd } tailcall [dict get $mapping $subcmd] {*}$args } } globglob.tcl package require readdir proc glob.globdir {dir pattern} { if {[file exists $dir/$pattern]} { return [list $pattern] } set result {} set files [readdir $dir] lappend files . .. foreach name $files { if {[string match $pattern $name]} { if {[string index $name 0] eq "." && [string index $pattern 0] ne "."} { continue } lappend result $name } } return $result } proc glob.explode {pattern} { set oldexp {} set newexp {""} while 1 { set oldexp $newexp set newexp {} set ob [string first \{ $pattern] set cb [string first \} $pattern] if {$ob < $cb && $ob != -1} { set mid [string range $pattern 0 $ob-1] set subexp [lassign [glob.explode [string range $pattern $ob+1 end]] pattern] if {$pattern eq ""} { error "unmatched open brace in glob pattern" } set pattern [string range $pattern 1 end] foreach subs $subexp { foreach sub [split $subs ,] { foreach old $oldexp { lappend newexp $old$mid$sub } } } } elseif {$cb != -1} { set suf [string range $pattern 0 $cb-1] set rest [string range $pattern $cb end] break } else { set suf $pattern set rest "" break } } foreach old $oldexp { lappend newexp $old$suf } list $rest {*}$newexp } proc glob.glob {base pattern} { set dir [file dirname $pattern] if {$pattern eq $dir || $pattern eq ""} { return [list [file join $base $dir] $pattern] } elseif {$pattern eq [file tail $pattern]} { set dir "" } set dirlist [glob.glob $base $dir] set pattern [file tail $pattern] set result {} foreach {realdir dir} $dirlist { if {![file isdir $realdir]} { continue } if {[string index $dir end] ne "/" && $dir ne ""} { append dir / } foreach name [glob.globdir $realdir $pattern] { lappend result [file join $realdir $name] $dir$name } } return $result } proc glob {args} { set nocomplain 0 set base "" set tails 0 set n 0 foreach arg $args { if {[info exists param]} { set $param $arg unset param incr n continue } switch -glob -- $arg { -d* { set switch $arg set param base } -n* { set nocomplain 1 } -ta* { set tails 1 } -- { incr n break } -* { return -code error "bad option \"$arg\": must be -directory, -nocomplain, -tails, or --" } * { break } } incr n } if {[info exists param]} { return -code error "missing argument to \"$switch\"" } if {[llength $args] <= $n} { return -code error "wrong # args: should be \"glob ?options? pattern ?pattern ...?\"" } set args [lrange $args $n end] set result {} foreach pattern $args { set escpattern [string map { \\\\ \x01 \\\{ \x02 \\\} \x03 \\, \x04 } $pattern] set patexps [lassign [glob.explode $escpattern] rest] if {$rest ne ""} { return -code error "unmatched close brace in glob pattern" } foreach patexp $patexps { set patexp [string map { \x01 \\\\ \x02 \{ \x03 \} \x04 , } $patexp] foreach {realname name} [glob.glob $base $patexp] { incr n if {$tails} { lappend result $name } else { lappend result [file join $base $name] } } } } if {!$nocomplain && [llength $result] == 0} { set s $(([llength $args] > 1) ? "s" : "") return -code error "no files matched glob pattern$s \"[join $args]\"" } return $result } jsonencode.tcl proc json::encode {value {schema str}} { json::subencode [lindex $schema 0] $value [lrange $schema 1 end] } proc json::subencode {type value {schema {}}} { switch -exact -- $type { str - "" { return \"[string map [list \\ \\\\ \" \\" \f \\f \n \\n / \\/ \b \\b \r \\r \t \\t] $value]\" } num { if {$value in {Inf -Inf}} { append value inity } return $value } bool { if {$value} { return true } return false } obj { set result "\{" set sep " " foreach k [lsort [dict keys $value]] { if {[dict exists $schema $k]} { set subtype [dict get $schema $k] } elseif {[dict exists $schema *]} { set subtype [dict get $schema *] } else { set subtype str } append result $sep\"$k\": append result [json::subencode [lindex $subtype 0] [dict get $value $k] [lrange $subtype 1 end]] set sep ", " } append result " \}" return $result } list { set result "\[" set sep " " foreach l $value { append result $sep append result [json::subencode [lindex $schema 0] $l [lrange $schema 1 end]] set sep ", " } append result " \]" return $result } mixed { set result "\[" set sep " " foreach l $value subtype $schema { append result $sep append result [json::subencode [lindex $subtype 0] $l [lrange $subtype 1 end]] set sep ", " } append result " \]" } default { error "bad type $type" } } } nshelpernshelper.tcl proc {namespace delete} {args} { foreach name $args { if {$name ni {:: ""}} { set name [uplevel 1 [list ::namespace canon $name]] foreach i [info commands ${name}::*] { rename $i "" } uplevel #0 [list unset {*}[info globals ${name}::*]] } } } proc {namespace origin} {name} { set nscanon [uplevel 1 [list ::namespace canon $name]] if {[exists -alias $nscanon]} { tailcall {namespace origin} [info alias $nscanon] } if {[exists -command $nscanon]} { return ::$nscanon } if {[exists -command $name]} { return ::$name } return -code error "invalid command name \"$name\"" } proc {namespace which} {{type -command} name} { set nsname ::[uplevel 1 [list ::namespace canon $name]] if {$type eq "-variable"} { return $nsname } if {$type eq "-command"} { if {[exists -command $nsname]} { return $nsname } elseif {[exists -command ::$name]} { return ::$name } return "" } return -code error {wrong # args: should be "namespace which ?-command? ?-variable? name"} } proc {namespace code} {arg} { if {[string first "::namespace inscope " $arg] == 0} { return $arg } list ::namespace inscope [uplevel 1 ::namespace current] $arg } proc {namespace inscope} {name arg args} { tailcall namespace eval $name $arg $args } proc {namespace import} {args} { set current [uplevel 1 ::namespace canon] foreach pattern $args { foreach cmd [info commands [namespace canon $current $pattern]] { if {[namespace qualifiers $cmd] eq $current} { return -code error "import pattern \"$pattern\" tries to import from namespace \"$current\" into itself" } set newcmd ${current}::[namespace tail $cmd] set alias $cmd while {[exists -alias $alias]} { set alias [info alias $alias] if {$alias eq $newcmd} { return -code error "import pattern \"$pattern\" would create a loop" } } alias $newcmd $cmd } } } proc {namespace info} {cmd {pattern *}} { set current [uplevel 1 ::namespace canon] if {[string first :: $pattern] == 0} { set global 1 set prefix :: } else { set global 0 set clen [string length $current] incr clen 2 } set fqp [namespace canon $current $pattern] switch -glob -- $cmd { co* - p* { if {$global} { set result [info $cmd $fqp] } else { set r {} foreach c [info $cmd $fqp] { dict set r [string range $c $clen end] 1 } if {[string match co* $cmd]} { foreach c [info -nons commands $pattern] { dict set r $c 1 } } set result [dict keys $r] } } ch* { set result [info channels $pattern] } v* { set result [uplevel #0 info -nons vars $fqp] } g* { set result [info globals $fqp] } l* { set result [uplevel 1 info -nons locals $pattern] } } if {$global} { set result [lmap p $result { string cat $prefix $p }] } return $result } proc {namespace upvar} {ns args} { set nscanon ::[uplevel 1 [list ::namespace canon $ns]] set script [list upvar 0] foreach {other local} $args { lappend script ${nscanon}::$other $local } tailcall {*}$script } proc {namespace ensemble} {subcommand args} { if {$subcommand ne "create"} { return -code error "only \[namespace ensemble create\] is supported" } set ns [uplevel 1 namespace canon] set cmd $ns if {$ns eq ""} { return -code error "namespace ensemble create: must be called within a namespace" } ensemble $cmd -automap ${ns}:: {*}$args } oooo.tcl proc class {classname {baseclasses {}} classvars} { set baseclassvars {} foreach baseclass $baseclasses { foreach method [$baseclass methods] { alias "$classname $method" "$baseclass $method" } set baseclassvars [dict merge $baseclassvars [$baseclass classvars]] proc "$classname baseclass" {} baseclass { return $baseclass } } set classvars [dict merge $baseclassvars $classvars] proc $classname {{cmd new} args} classname { if {![exists -command "$classname $cmd"]} { return -code error "$classname, unknown command \"$cmd\": should be [join [$classname methods] ", "]" } tailcall "$classname $cmd" {*}$args } proc "$classname new" {args} {classname classvars} { set obj ::[ref $classname $classname "$classname finalize"] set instvars $classvars proc $obj {method args} {classname instvars} { if {![exists -command "$classname $method"]} { if {![exists -command "$classname unknown"]} { return -code error "$classname, unknown method \"$method\": should be [join [$classname methods] ", "]" } return ["$classname unknown" $method {*}$args] } "$classname $method" {*}$args } $obj constructor {*}$args return $obj } proc "$classname finalize" {ref classname} { $ref destroy } proc "$classname method" {method arglist __body} classname { proc "$classname $method" $arglist {__body} { if {![uplevel exists instvars]} { return -code error -level 2 "\"[lindex [info level 0] 0]\" method called with no object" } set self [lindex [info level -1] 0] foreach __ [$self vars] {upvar 1 instvars($__) $__} unset -nocomplain __ eval $__body } } proc "$classname vars" {} classvars { lsort [dict keys $classvars] } proc "$classname classvars" {} classvars { return $classvars } proc "$classname classname" {} classname { return $classname } proc "$classname methods" {} classname { lsort [lmap p [info commands "$classname *"] { lindex [split $p " "] 1 }] } $classname method defaultconstructor {{__vars {}}} { set __classvars [$self classvars] foreach __v [dict keys $__vars] { if {![dict exists $__classvars $__v]} { return -code error -level 3 "[lindex [info level 0] 0], $__v is not a class variable" } set $__v [dict get $__vars $__v] } } alias "$classname constructor" "$classname defaultconstructor" $classname method destroy {} { rename $self "" } $classname method get {var} { set $var } $classname method eval {{__locals {}} __body} { foreach __ $__locals { upvar 2 $__ $__ } unset -nocomplain __ eval $__body } return $classname } proc super {method args} { set classname [lindex [info level -1] 0 0] uplevel 2 [list [$classname baseclass] $method {*}$args] } stdlibstdlib.tcl if {![exists -command ref]} { proc ref {args} {{count 0}} { format %08x [incr count] } } proc lambda {arglist args} { tailcall proc [ref {} function lambda.finalizer] $arglist {*}$args } proc lambda.finalizer {name val} { rename $name {} } proc curry {args} { alias [ref {} function lambda.finalizer] {*}$args } proc function {value} { return $value } proc stacktrace {{skip 0}} { set trace {} incr skip 2 loop level $skip [info level]+1 { set frame [info frame -$level] lappend trace [lindex [dict get $frame cmd] 0] [dict get $frame file] [dict get $frame line] } return $trace } proc stacktrace {{skip 0}} { set trace {} incr skip 1 set last 0 loop level $skip [info frame]+1 { set frame [info frame -$level] set file [dict get $frame file] set line [dict get $frame line] set lev [dict get $frame level] if {$lev != $last && $lev > $skip} { set proc [lindex [dict get $frame cmd] 0] lappend trace $proc $file $line } set last $lev } return $trace } proc stackdump {stacktrace} { set lines {} foreach {l f p} [lreverse $stacktrace] { set line {} if {$p ne ""} { append line "in procedure '$p' " if {$f ne ""} { append line "called " } } if {$f ne ""} { append line "at file \"$f\", line $l" } if {$line ne ""} { lappend lines $line } } join $lines \n } proc defer {script} { upvar jim::defer v lappend v $script } proc errorInfo {msg {stacktrace ""}} { if {$stacktrace eq ""} { set stacktrace [info stacktrace] lappend stacktrace {*}[stacktrace 1] } lassign $stacktrace p f l if {$f ne ""} { set result "$f:$l: Error: " } append result "$msg\n" append result [stackdump $stacktrace] string trim $result } proc {info nameofexecutable} {} { if {[exists ::jim::exe]} { return $::jim::exe } } proc {dict update} {&varName args script} { set keys {} foreach {n v} $args { upvar $v var_$v if {[dict exists $varName $n]} { set var_$v [dict get $varName $n] } } catch {uplevel 1 $script} msg opts if {[info exists varName]} { foreach {n v} $args { if {[info exists var_$v]} { dict set varName $n [set var_$v] } else { dict unset varName $n } } } return {*}$opts $msg } proc {dict replace} {dictionary {args {key value}}} { if {[llength ${key value}] % 2} { tailcall {dict replace} } tailcall dict merge $dictionary ${key value} } proc {dict lappend} {varName key {args value}} { upvar $varName dict if {[exists dict] && [dict exists $dict $key]} { set list [dict get $dict $key] } lappend list {*}$value dict set dict $key $list } proc {dict append} {varName key {args value}} { upvar $varName dict if {[exists dict] && [dict exists $dict $key]} { set str [dict get $dict $key] } append str {*}$value dict set dict $key $str } proc {dict incr} {varName key {increment 1}} { upvar $varName dict if {[exists dict] && [dict exists $dict $key]} { set value [dict get $dict $key] } incr value $increment dict set dict $key $value } proc {dict remove} {dictionary {args key}} { foreach k $key { dict unset dictionary $k } return $dictionary } proc {dict for} {vars dictionary script} { if {[llength $vars] != 2} { return -code error "must have exactly two variable names" } dict size $dictionary tailcall foreach $vars $dictionary $script } tclcompattclcompat.tcl set env [env] if {[info commands stdout] ne ""} { foreach p {gets flush close eof seek tell} { proc $p {chan args} {p} { tailcall $chan $p {*}$args } } unset p proc puts {{-nonewline {}} {chan stdout} msg} { if {${-nonewline} ni {-nonewline {}}} { tailcall ${-nonewline} puts $msg } tailcall $chan puts {*}${-nonewline} $msg } proc read {{-nonewline {}} chan} { if {${-nonewline} ni {-nonewline {}}} { tailcall ${-nonewline} read {*}${chan} } tailcall $chan read {*}${-nonewline} } proc fconfigure {f args} { foreach {n v} $args { switch -glob -- $n { -bl* { $f ndelay $(!$v) } -bu* { $f buffering $v } -tr* { } default { return -code error "fconfigure: unknown option $n" } } } } } proc fileevent {args} { tailcall {*}$args } proc parray {arrayname {pattern *} {puts puts}} { upvar $arrayname a set max 0 foreach name [array names a $pattern]] { if {[string length $name] > $max} { set max [string length $name] } } incr max [string length $arrayname] incr max 2 foreach name [lsort [array names a $pattern]] { $puts [format "%-${max}s = %s" $arrayname\($name\) $a($name)] } } proc {file copy} {{force {}} source target} { try { if {$force ni {{} -force}} { error "bad option \"$force\": should be -force" } set in [open $source rb] if {[file exists $target]} { if {$force eq ""} { error "error copying \"$source\" to \"$target\": file already exists" } if {$source eq $target} { return } file stat $source ss file stat $target ts if {$ss(dev) == $ts(dev) && $ss(ino) == $ts(ino) && $ss(ino)} { return } } set out [open $target wb] $in copyto $out $out close } on error {msg opts} { incr opts(-level) return {*}$opts $msg } finally { catch {$in close} } } proc popen {cmd {mode r}} { lassign [pipe] r w try { if {[string match "w*" $mode]} { lappend cmd <@$r & set pids [exec {*}$cmd] $r close set f $w } else { lappend cmd >@$w & set pids [exec {*}$cmd] $w close set f $r } lambda {cmd args} {f pids} { if {$cmd eq "pid"} { return $pids } if {$cmd eq "getfd"} { $f getfd } if {$cmd eq "close"} { $f close set retopts {} foreach p $pids { lassign [wait $p] status - rc if {$status eq "CHILDSTATUS"} { if {$rc == 0} { continue } set msg "child process exited abnormally" } else { set msg "child killed: received signal" } set retopts [list -code error -errorcode [list $status $p $rc] $msg] } return {*}$retopts } tailcall $f $cmd {*}$args } } on error {error opts} { $r close $w close error $error } } local proc pid {{channelId {}}} { if {$channelId eq ""} { tailcall upcall pid } if {[catch {$channelId tell}]} { return -code error "can not find channel named \"$channelId\"" } if {[catch {$channelId pid} pids]} { return "" } return $pids } proc throw {code {msg ""}} { return -code $code $msg } proc {file delete force} {path} { foreach e [readdir $path] { file delete -force $path/$e } file delete $path } treetree.tcl package require oo class tree { tree {root {}} parents {root {}} children {root {}} nodeid 0 } tree method depth {node} { set depth 0 while {$node ne "root"} { incr depth set node [dict get $parents $node] } return $depth } tree method parent {node} { dict get $parents $node } tree method children {node} { dict get $children $node } tree method numchildren {node} { llength [dict get $children $node] } tree method next {node} { set siblings [dict get $children [dict get $parents $node]] set i [lsearch $siblings $node] incr i lindex $siblings $i } tree method set {node key value} { dict set tree $node $key $value return $value } tree method get {node key} { dict get $tree $node $key } tree method keyexists {node key} { dict exists $tree $node $key } tree method getall {node} { dict get $tree $node } tree method insert {node {index end}} { set childname [incr nodeid] dict set tree $childname {} dict set children $childname {} dict set parents $childname $node set nodes [dict get $children $node] dict set children $node [linsert $nodes $index $childname] return $childname } tree method delete {node} { if {$node eq "root"} { return -code error "can't delete root node" } $self walk $node dfs {action subnode} { if {$action eq "exit"} { dict unset tree $subnode set parent [$self parent $subnode] if {$parent ne ""} { set siblings [dict get $children $parent] set i [lsearch $siblings $subnode] dict set children $parent [lreplace $siblings $i $i] } } } } tree method lappend {node key args} { if {[dict exists $tree $node $key]} { set result [dict get $tree $node $key] } lappend result {*}$args dict set tree $node $key $result return $result } tree method walk {node type vars code} { lassign $vars actionvar namevar set n $node if {$type ne "child"} { upvar 2 $namevar name $actionvar action set name $node set action enter uplevel 2 $code } if {$type eq "dfs"} { foreach child [$self children $n] { uplevel 2 [list $self walk $child $type $vars $code] } } elseif {$type ne "none"} { foreach child [$self children $n] { uplevel 2 [list $self walk $child none $vars $code] } foreach child [$self children $n] { uplevel 2 [list $self walk $child child $vars $code] } } if {$type ne "child"} { set name $node set action exit uplevel 2 $code } } tree method dump {} { $self walk root dfs {action n} { set indent [string repeat " " [$self depth $n]] if {$action eq "enter"} { puts "$indent$n ([$self getall $n])" } } puts "" } interactive-completion?0C0E0C0E ;.A? x     ! #"%$'&)(+*-,/.1I325476:9<;>=@?BADCFEHGKJMLONQPSRUTWVYX[Z]\_^a`cbedgfihkjmlonqpsrutwvzy|{~}SC=      #"%$'&)(+*-,/.1032<;?~,@,BAGFIHKJMLONPo,Qm,Rp,STVWY[\`acefhijkb,loqn,ru}d,ŧDEqpsrwv{|}0123456789:;<=>?@ A!B"C#D$E%F&G'H(I)J*K+L,M-N.O/PQRSTUVWXY Z [ \ ] ^_a`cbedgfihkjmlonqpsrutwvyx{z}|~     ! #"%$'&)(+*-,/.a1b2c3d4e5f6g7h8i9j:k;l<m=n>o?p@qArBsCtDuEvFwGxHyIzJ{K|L}M~NOPQRSTUV!""*bJy}}c,Ƨ     ! #"%$'&)(+*-,/.1032547698;:=<?>A@CBEDGFIHKJMLONQPSRUTWVYX[Z]\_^a`cbedgfihkjmlonqpsrutwvyx{z}|~`      (!)"*#+$,%-&.'/08192:3;4<5=6>7?@HAIBJCKDLEMQYS[U]W_`haibjckdlemfngopqrstuvwxyz{|}N!2!!!0,,1,,2,,3,,4,,5,,6,,7,,8,,9, ,:, ,;, ,<, ,=, ,>,,?,,@,,A,,B,,C,,D,,E,,F,,G,,H,,I,,J,,K,,L,,M,,N,,O,,P, ,Q,!,R,",S,#,T,$,U,%,V,&,W,',X,(,Y,),Z,*,[,+,\,,,],-,^,.,_,/,a,`,e,:f,>h,g,j,i,l,k,s,r,v,u,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------- - - - - ------------------- -!-"-#-$-%-'---A@CBEDGFIHKJMLONQPSRUTWVYX[Z]\_^a`cbedgfihkjml#"%$'&)(+*-,/.32547698;:=A@CBEDGFIHKJMLONQPSRUTWVYX[Z]\_^a`cbedgfihkjmlonzy|{~ħç§ȧǧʧɧѧЧק֧٧اSpqrstuvwxyz{|}~A!B"C#D$E%F&G'H(I)J*K+L,M-N.O/P0Q1R2S3T4U5V6W7X8Y9Z:      !"#$%&'()*+,-./0i2345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~STVWY[`cihoru      "#$%&'()*+,-./0123:e,;<=>f,ABCDEFGHIJKLMNOpqrsvw{|}PQRSTUVWX Y Z [ \ ]^_0123456789:;<=>? @!A"B#C$D%E&F'G(H)I*J+K,L-M.N/O`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1a2b3c4d5e6f7g8h9i:j;k<l=m>n?o@pAqBrCsDtEuFvGwHxIyJzK{L|M}N~OPQRSTUV--------- - - - - ------------------- -!-"-#-$-%-'---pqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     ( )!*"+#,$-%.&/'8091:2;3<4=5>6?7H@IAJBKCLDMEYQ[S]U_Wh`iajbkcldmenfogpqrstuvwz{xy|}&!*!k+!2!N!!!,0,,1,,2,,3,,4,,5,,6,,7,,8, ,9, ,:, ,;, ,<, ,=,,>,,?,,@,,A,,B,,C,,D,,E,,F,,G,,H,,I,,J,,K,,L,,M,,N,,O, ,P,!,Q,",R,#,S,$,T,%,U,&,V,',W,(,X,),Y,*,Z,+,[,,,\,-,],.,^,/,_,`,a,b,kc,}d,}g,h,i,j,k,l,m,Qn,qo,Pp,Rr,s,u,v,~,?,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}y~ef\aljS§çħŧƧǧȧɧʧЧѧ֧קا٧!A"B#C$D%E&F'G(H)I*J+K,L-M.N/O0P1Q2R3S4T5U6V7W8X9Y:ZpK`pq0M0Y^ : X b d  < Y p r u v  < \ b f  < X b f  ; N W X b f 124?GO5:>@q+?VZ^egnqu]`25R`r  @U4Ekt$; !,,---.*00000o~ #(,0Ψ&.G_)@CDLP{~ª 0_##)#*#######%%&&H&S&&&&&&&&&&&&&&&&&&&&&&&&&&&'' ' '('('L'L'N'N'S'U'W'W'''''''++P+P+U+U+....////0>0A00001/11111112 2G2P2MNƤ`|0RTfhk`oooopՌ"PRdgp;@HPQ`e -57|~>@@B=KNPgzzO :<EGptx|wRm22KKnn,,XX` ` %%KK@@ 444  LSuw9DPR"PgPw-&;")/8?DI "&*.26:>BFJNu ]"~x zz+̮:  =I"X*-Hw!4R!;!@"H)P*X+`,i0.o2D4v~4~Q5)|5/556]7"79:L*;LeN?3QQQ RR,SSTdUUL\N]l'n qqNrJz zL{y|%~~%|+p48:A7 j}?MD m^cgojpsxnzn|nzd~dZZZZPPPPFF210\  gx<<77KKKK\\\\\\\\M $(,27;A")/7'/RYe7qz/'r}%NV\bhntz&`g$(-28oP=DKRXgs#7. 4 ; I #GQ           ):KXg} %-5=0mMR|ls. 8!7""$$%%"(&9>&X'](fmV(s)x>)):*X*v**+), ";D ,3:?FMSX_;De0YYYe;D4444<5M55$*6 #6?7-88198:?:gc<t<=>mbHogog_psx2qbqqberbrbsbQtb4uubgwb|wbwbwwxHyxy]`z1b!{-b{:N|E:| b }Kb}Qb}]bk~qwX:\0\K\$ \]\) X up05Z ]'=]?BWDvۆ/wD! !!!"!=*!1!8!!!!!!!!!!!!!"",#"Zw #[#d#j#d#j#%%%%%%%%%%%&&&&&&&&&&&&&&&' ''''%'*'2'O'S'['"b'$.8BLV`jt~ (2<FPZdnx",6@JT^hr|&0:DNXblv  *4>HR\fpz$.8BLV`jt~ (2<FPZdnxJ'd"p ppSApp SBppRARARAUAUAUARAppSBppppTATAppXAp `BSBp SC`Bp p SBSBRA]ARARARARARARARARARARARARARARARARARARARARApRARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARARB[AZB`BpRB`AUA`ASA`ATATAUA`#A ZBSASAppSASAppSASASASASASASASAppSASASASASASAppSERBSASAYASA[ARB[ApSASASASASASASEppSASApp0SBpSASASASASASASASASASASASASASASASASASASASASASASASASASASASASERA\ASASASASASASApp(SAppSESA`AWAUASASAp(WAUARDSASASASASASE8px8p8p[AS#`AQ@__DefaultRuneLocaleQr@___stack_chk_guard@___stderrp@___stdinp@___stdoutp@_isalnum@_isalpha@_isascii@_iscntrl@_isdigit@_isgraph@_islower@_isprint@_ispunct@_isspace@_isupper@_isxdigit@dyld_stub_binders@__NSGetEnvirons@___assert_rtns@___bzeros@___darwin_check_fd_set_overflows @___errors(@___maskrunes0@___sprintf_chks8@___stack_chk_fails@@___tolowersH@___touppersP@__exitsX@_aborts`@_acceptsh@_accesssp@_acossx@_alarms@_asins@_atans@_atan2s@_atexits@_atois@_binds@_bsearchs@_callocs@_cfgetispeeds@_cfsetispeeds@_cfsetospeeds@_chdirs@_clearerrs@_clocks@_clock_gettimes@_closes@_closedirs@_closelogs@_connects@_coss@_coshs@_divs@_dlcloses@_dlerrors@_dlopens@_dlsyms@_dups@_dup2s@_execvps@_exps@_fcloses@_fcntls@_fdopens@_feofs@_ferrors@_fflushs@_fgetss@_filenos@_fmods@_fopens@_forks@_fprintfs@_fputcs@_fputss@_freads@_frees@_freeaddrinfos@_fseekos@_fstat$INODE64s@_fsyncs@_ftellos@_fwrites@_getaddrinfos@_getcs@_getcwds@_getegids@_getenvs@_geteuids@_getgids@_gethostnames@_getpeernames@_getpids@_getsocknames@_getsockopts@_gettimeofdays@_getuids@_gmtimes@_hypots@_inet_ntops@_ioctls@_isattys@_kills@_links@_listens@_localtimes@_localtime_rs@_logs@_log10s@_longjmps@_lseeks@_lstat$INODE64s@_mallocs@_memchrs@_memcmps@_memcpys@_memmoves@_memsets@_mkdirs@_mkstemps@_mktimes@_opens@_opendir$INODE64s@_openlogs@_openptys@_pipes@_polls@_pows@_printfs@_putchars@_putss@_qsorts@_raises@_rands@_reads@_readdir$INODE64s@_readlinks@_reallocs@_realpath$DARWIN_EXTSNs@_recvfroms@_removes@_renames@_rmdirs@_select$1050s@_sendtos@_setjmps@_setsockopts@_setvbufs@_shutdowns@_sigactions@_sins@_sinhs@_sleeps@_snprintfs@_sockets@_socketpairs@_sprintfs@_sscanfs@_stat$INODE64s @_strcasecmps @_strchrs @_strcmps @_strdups @_strerrors @_strftimes @_strlens @_strncasecmps @_strncmps @_strncpys @_strpbrks @_strptimes @_strrchrs @_strstrs @_strtods @_strtols @_strtouls @_strtoulls @_symlinks @_syslog$DARWIN_EXTSNs @_tans @_tanhs @_tcgetattrs @_tcsetattrs @_times @_ualarms @_umasks @_unlinks @_usleeps @_utimess @_vsnprintfs @_waitpids @_write_ CanonicalNamespaceDefaultAllocator@StringK_N ComparePrefixEReplaceObjhwSddHashEntrymioFilellocatorppendhandlehObjStringgsi!ArCDE F Ge HistoryILMakeNOpenForPReSUWrongNumArgsabinaryInitclockInitefileInitglobInithistoryInitinjsonloadInitnooInitprest)allSubCmdhecklearHashTableoreateאAbiVersionShowCommands҈YIfNeededllectmncatObjmandMatchObjpareStringImmediateyȂObjCommandFileHandlerInterpNamespaceVariableScriptFileHandlerTimeHandler  ̓  AssocDataCommandFileHandlerHashEntryTimeHandlerč X eleteictuplicateObjˊAddElementInfoKeyMPairsSizesVectorݗatchTypesergeރaExpressionFileGlobalNamespaceObjSource GlobalBackground List Prefix Vector valxpandHashTable Q leStoreStatData nd ByName FileHandler HashEntry ۄ [i ormatString ree 7[HashTable Interp Obj Stack _]Elements ^QnHashFunction t AssocData Bool C Double E Finalizer GlobalVariable HashTableIterator Index Long Re StringTVariableWideFromExpr ean allFrameByLevel ommand ŋum viron n xitCode Str ߮\ִference turnCodeΞcOimeUsectySettingsStrExpr.AddGetLoadS/MaxLenline+-.aveethow/CompletionMaxLen/.QHashTableSta]ckticExtensionsittvalidateStringRepPHashFunctioner0activePromptpIncrProcEpoch߈ansBigEndianDictListcengthistoadLibraryElementListAppendGetIndexInJoinLengthRangeSetIndexdexsertElements ErrorMessageGlobalNamespaceNameTempFileЦ QualifiersTail amespaceeבictObjoubleObjDIntObjListObjObjReferenceStringObj_ʱeNoAllocUtf8ffwxtHashEntry\ReadWrite ProvideRequire ckagerseSubCmd arocessEvents  addirCmdgnameCommandplaceHashEntryturnCode expCmdisterCoreCommandssubCmd ܕVanStringriptIsCompletezcetignaltubyslogCmdAssocDataDictKeysVectorEnvironFinalizerGlobalVariableStrResultTtySettingsVariable˜ErrnoFormattedȏLinkStrԥWithStrЦ IdSetIgnored ]LenP^eekopush^]ackrNLenODupingcByteRangeObjCompareObjEqObjMatchObjRangeObjTosqkkuNDoubleWideK*CmdProcstObj nsetVariabletf8LengthcԓioInitrrayInit  nsembleInitventloopInitxecInit   ˤ  itjimshInitterpInit Ӓ InitencodeInit   amespaceInitshelperInit   InitageInit ackosixInit  addirInitgexpInit  ignalInittdlibInityslogInit   compatInitprefixInit clreeInit Jim _mh_execute_header j linenoise!main#sb_$u$comp e free rror xec reg tt_name im_ smn_!init!parse!AddCompletion!C!History"Set"WithInitial#learScreen!olumns!Add"Free"GetMaxLen"Load"S"Allocated"ave"etMaxLen"CompletionCallback"FreeHintsCallback#HintsCallback#MultiLine#ȩlloc#ppend#_len$ܪa#clear$delete$free$insert$realloc$to_string$sage$tf8_% charlen%fromunicode%index%lower%prev_len%str%t&upper&width&len%width&itle&ounicode&9R@ *N y7=nnE#IF_0.%n7m.D S!8`30#"*bJG@rg3 H@jX$[$X$KX*M+TMH# M4[ex?tLjzhre E5Qu!R $4$0YbWN4X}g"%R$"x2#C _ W? +3"cpDCw B/c `;  B e+//>#m/ Z^F58r;$N-PUZ{f@%F%B cul=>6t4qd4  %)&0{]L X &+CVB s|\ ]@ ^TWU8QM<&nrN#Xon ke]fKkHE]]kj ;  e1nJWQ0~g?Bg^^wqyyblVbk/t fS@  Z;wG]= H Uc |%.*EMf * *rl*f RRRRRRRRS#####"###&##!!#!%\rș@Ĵ((,@< Ht@!)D2(HL\Ll\ P`l@`( , R4 + A/MP^/mz=)&&h*2Z69K:*=8EJ.GZTLrjPR `d1iojn%u v/?TOQ[?lY~dY:ҧ̮Z&F:I_py^98wPg4?\:QlDP$RB_s"M   P2 gI _ u      ( k -!'!&;!;P!^!o!\}!!g!!\!!M!!""F+"8"H"^"t""E"r"" """#)#?#]S#"i#~## ##+#:# # $=%$I:$XR$e$H|$!$R!$!$"$)$*%+%,6%0.L%2c%4x%~4%Q5%|5%5%5%6&]7&7.&9D&:[&*;r&L&eN&3Q&Q&Q& R&R ',S!'S:'TR'dUi'U~'L\'N]'l''n' q'q(Nr(Jz-(zD(L{\(y|p(%~(~(|((p(8()')X4)G)ЇX)ii)2~))Ȑ)*)))Q))*j*4*F*Y*m*,***ȧ*˨*O*#+G+0+ªL+[+lh+ys+Bx++"++N+|+++++H+,, ,,&,e5,LA,R,*_,m,z,2,,T,-,,,,,,--&.-C-S-} e- x-M -@--|-----... '.8!7.7"G."X.$j.$|.%.%.&.&.'.(.V(.).>)/)/:*&/X*8/v*M/*[/+k/),x/-/i-/-/ ./c.///1 0N202-03<04J04X04g04t0<50M5050*6060?708080191:1:%1c<71<I1=Y1>l1I?17B1AB1J1JK1M1M 28R2BR:2\RK2SX2Vn2W2X2Y2f2%g2g2h2h2l3;m3n+3n63HoF3oV3_ph32qw3qq3er3r3s3Qt34u3u3gw4|w4w-4w>4wO4x_4Hyr4y4`z4!{4{4N|4|4 }4}4}5k~5~$5F55N5a[5f5r5X5p555'5?5W5ʄ 6;$696ΆK6ۆ\6o6666ʉ6/6=67707E7e[7l7|777,7Z77֩7X8 8G88K8$]8t88*8E88M88899-9?9Q9d`9Ip9c999999:5:9K:[]:~q:::: :0:Q ;r-;K;i;0;; ;0;;<<2<P=<Z<o<}<<<<@<h<<=/= J=Pc=o=~=== =H=p===>>">1>0H>X>k>}>>@>p>>p>?05?[?? ???@p#@A@P`@xv@@p@@@ @`@@@A %A;AEA\AwAAPAAABB %B`:B`OBPlBpBBB@BBB@C`HCaCxCPCC C`CCCDpD1DXD gD xD D D D D D D D D E  E E 8.E <7E @BE POE `XE ``E hpJ'.F;[)m z  V434WR , \- ZBW<sHF+EbA`,A(C%/n:FMBd,yCK݋k0%/pC!Qeɹu$?<X`(j/[BD-Wi-|e/.\/( nOt