ELF>@8A@w@8 @ @@@@@hh@@@@PTPT P]P]bP]b0  ]]b]b@@ @@DDStd@@ Ptd>>B>BDDQtdRtdP]P]bP]b/lib64/ld-linux-x86-64.so.2GNUGNUGNU6Կo~u>zq`U`*`ciXOBE|fUa'|+qX 9!c6,Q `G%~Jbc#}pD@i- ,3[ypY3@g$nB hFt o< x=MS jbjb}lblblbjb-lblbSA(lblibncurses.so.6_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablelibtinfo.so.6libm.so.6mvwprintwwmovewattrsetinit_pairendwinstdscrwclearhas_colorsstart_colorinitscrnocbreakwclrtobotwrefreshnewpadwbordermvprintwwnoutrefreshCOLSacs_mapwhlinewattr_onwattr_offLINESpnoutrefreshceilfdoupdatelibc.so.6fflushstrcpy__printf_chkexitreaddirfopenstrncmpperror__isoc99_sscanfclosedir__read_chksignalstrncpyputsfork__stack_chk_failputcharreallocfstatfsstdinstrtollpopenkillstrftimerewindstrtodstrtolsetmntentexeclpfgetsstrlen__errno_locationchdirgetopt__fprintf_chkfputcmemcpyfclosegetmntentmallocopendir__ctype_b_locgetenvoptargstderrioctlsystem__snprintf_chkgetuidfilenopclosegethostnamefwritefreadgettimeofdaywaitpidlocaltimeendmntentfdopenqsortsleepsetpgrp__xstatunamestrcmp__libc_start_mainsysconffree_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3GLIBC_2.7GLIBC_2.14GLIBC_2.4GLIBC_2.3.4d ui Oii ii ii ti ui _b _b+_b1_bXjb`lbclbjlbdlbelbglbh`b `b(`b0`b8`b@`bH`bP`bX`b ``b h`b p`b x`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`b`babab ab!ab" ab#(ab$0ab%8ab&@ab'Hab(Pab)Xab*`ab,hab-pab.xab/ab0ab2ab3ab4ab5ab6ab7ab8ab9ab:ab;ab<ab=ab>ab?ab@bbAbbBbbCbbD bbE(bbF0bbG8bbH@bbIHbbJPbbKXbbL`bbMhbbNpbbOxbbPbbQbbRbbSbbTbbUbbVbbWbbYbbZbb[bb\bb]bb^bb_HHyC"HtH5rC"%sC"hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZA%="D%="D%="D%="D%="D%="D%="D%="D%}="D%u="D%m="D%e="D%]="D%U="D%M="D%E="D%=="D%5="D%-="D%%="D%="D%="D% ="D%="D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%<"D%}<"D%u<"D%m<"D%e<"D%]<"D%U<"D%M<"D%E<"D%=<"D%5<"D%-<"D%%<"D%<"D%<"D% <"D%<"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%;"D%};"D%u;"D%m;"D%e;"D%];"D%U;"D%M;"D%E;"D%=;"D%5;"D%-;"D%%;"D%;"D%;"D% ;"D%;"D%:"D%:"D%:"DAWAVAUATAUHSH HfoZdH%(H$ 1fo OH--------DŽ$----H$H߸-+)$P)$`)$p)$f$Ƅ$HF"P~9HcȃHcHH)H fHF"</u HLH oF"HH9uH=4bHt D"H=#GHt D"H=,Ht D"H=H$HtH5H )H$H=H$HtH5ʜH(H$H=D$tHt$1 H}H8@\$tH=|HD$hHtH5uHs(HD$hH=kRDŽ$Ht! 1HFЉ$L- 9)E1H$L5+EMH1AHIEHtD=qB"IA@uH=_;L5X;H5G;H=@;3;LIf.8.uHH9uB"^H$0HH$<HH@HdHGH$HDŽ$H=HՏD$ E1H H:)HƏH:+HÏH:-HH ;/HH';1HHA;3HH[;5HHu;7HH;9HD$D$D$fDHHD?;wHcH>྄`謀A"7"TA"`D$sH=?" 1d7"kH5?"H=8)s9)@"@D$3H=?"H=H{?"1H506H=W?" 1PdG‰6""lH5#?"H=?"?"H5;tH=?"iH=]AŅZHH51xD1H5b%, ~H=z>" 1T5"=¹H51 %5"H=->" 15"H5"4"KMS4"KpxI~>"%5"HHH5՗1f1o>"^>"E, %>"}4"4"4"'>"4>"="H= ="1J4"H5<"1HHt$(HHHIHt$(LHHD$, D$ }2="#="L-}<"1HALHHLHH 3)HHH<"fH52)HHH:uH52)IcAHD=`<"HH A?~j3"[~g1H5+;H=d4)W5)H$hH ;"/H=O02"M=2"u 2"=2"u 2"=f2"t<"1;"4*`H=">8yH; >18y/1D>V2"G2"=2""1>!!1LLO;$L c="Hc`1"I@IqLD$8HLiLL$0\$(IL~LL$0LL,IfLD$8LIVLHH>"DT$(H<"~)r1 fDHHHJHH9u0HcK1"H=xHTHHH9u1LcIiͰL-j<"HHL$0HL$0H1;I@yHHT$(HT$(1 0"H@yAHyHyADžLyǂLyNfHC=^UHǧ;Hc$:"H8H;"HiҸH0=9"1yH;Hc9"H(iH;"HHH(id~4{1H5;"H ];HHHPHH9u=/"z]H5\ H5[ H5[H5[H5[=6/"H=7"11H=7"b=."H=7"H9"tH8"^H8"HH?9"2H!9"H9"H8"H8"H8"HS8"HU8" H/8"H!8"lHC8"VH%8"@H7"*H7" H7"H7"HO7",H7"D$H7"H=5"1H$8"DŽ$H HDŽ$H$HDŽ$HD$xDŽ$xDŽ$DŽ$DŽ$DŽ$|DŽ$D$pDŽ$fH7"$8H7"18y8yH;\8y$H=7"H7"HË>,"4,"18 7"=D5+"ED +"H=4"E>APE1E11j11jjzH H1111H "He54"GH ;11HE;$H@14KD FDCH,11H=3" *"JAm4"*"=\4"54"=*"1H=4"11:t?3"52"H=4"PH=4"11 H=4"1ҾH=4"H51H=4"H51H=v4"H51H=a4"1Ҿ=)"!L,-H=:4"1H L,-1H= 4"H lH$1H=3"H zL>H=3"1LH `=%)"^Dl)"H=3"1H ; =("H$H=Y3"1H  L1LCAH=(3"H  =("L."H=2"1H ϑ TL."1H=2"H  .Lg."1H=2"H LI."1H=2"H ='"L-"H=W2"1H rL-"1H=*2"H LL-"1H=2"H &cLd-"1H=1"H ==J'"O0"$0"ENH=1"A9pyQDJPDA11/"AA\A]D9]fD-0"0" r0" 0"13D-'"-&"EA9x=&"&"A9t A9?y=X0"pyD C0"Et>=_&"Lg103=/"t=8&"f.D/"E\+D/"E(5/"%-/"1%D]/"EU D /"Ez/"h/" / /"ͅH!;H=:1"H`iAHH`iHi1LBDHHDB+F+F+FH9u݅L."=4%"qH=/"E1HU@ID9D-$"DEtH0"LIcăHHAt$IHL iiAiAiL (iH1hiixipiL`i1d n."H=."H@D9b4-">-"At9HOSDJPDA11 ."AYAZEt-"D9s-"~-"1-"D|-"E#"D$5H=-"11t,"5$,"H=-"PH=-"11E1L%2;B1ҾMH=-"H=-"H517H=p-"H5Ó1"H=[-"H51 H=F-"1ҾH=3-"11H pDt$1l$ŐD9=+"A[MLH=IM)pH=2LRH= L4H5LH5҇L~H5lLgHc|$HS1;H5HiHH5L!AH$HDŽ$)H$L+"HH$HfH*HfH*(%H$YH$ZYYZHPfH*(YZYYHfZZf(\^YZ/vMEA1HLHHHD$HvHMDAH/;IL\$0L$(LD$ \$f1҉PZMH !AU\$(L\$@L$8LD$0f(LZ,XZD5)"H=K*"M1҉H 1H=/*"1H H=*"1H #H=)"1H p) "mMH LH=)"+1qD5~"E'AA_IsDt$(("l$ .("H=g)"AV49SAUDIPDA11'"AA[]D9(q(" (" (" T("e$CD ("EL("3("wH;xf$HH{LH*"HiH21'fH*^f/vHf(H¸H9t9IHfH9wH)HyHfH H*Xf/4"H=("1iD$H 11="D$mH='"IغH }vH=g&"1DED$7'"i"VG2H='"11t&"5%"H=q'"PaH=b'"11H=R'"1ҾnH=?'"H5y1H=*'"H51H='"H5y1H='"1Ҿ%"Sv)v[wD$"11H=&"H XH=&"11H v/<&"gH=u&"11H {="LH=L&"1H d="IH= &"1H "=" H=%"H 1|$pL-%"FH 1Ҿ1LZD$P$"H=%"X0$"BL39AASDJPAD11$"AAXAYD9fD$p "D-x$"E u=X$"t =O$"PD~$"E >"kDX$"EV #"#"H=$"5:ARDJPA11[#"_AX D9 /H=4#"111H="#"5v"~.fD "t GXu 9F"؋""D9c.$-Gx%";"Mc%"rH=#"11rtw""5""H=#"PH=#"11A>H=#"1ҾH=|#"H5v16H=g#"H5؁1!H=R#"H5u1 H==#"1ҾH=*#"11H ""9="="H=""11t!"5(!"H=""PH=""11H-dIH=""1ҾH=""H5#u1AH=j""H51,H=U""H5t1H=@""1ҾH=-""1H H=""1H H=!"1H H=!"1H BH=!"1H ciH=!"1H tJH=s!"1H +H=T!"1H  H=5!"1H  H=!"1H  1E1H= "H  H= "1H  H= "'1H M nH= "1H !OH=x "1H *0H=Y "1H [H=: "1H H= "1H H="1H ~,EH1AA @D-"H="EtD5H="봃A9|=H)DH= "AIH1D-"A9}D-p"-n"ED9td="$saH5 "= "$AH=b "VIH~AU1Yv_AX$ "4="g1="ݿDt$0D$~fDmH="*E(V")(H _1H="D1DuH jMDD95S"DH5y;H="HH++HcHHHHLD+HH+L+D+++BD-AdDmH="EffEf%*fDu*"DE**^D^YfD(^DY^YYujffA(f(DA*DDD$(|$t$T$ ^Yf(  "t$|$DL$ DD$(^H5"="t$(|$ DL$DD$DD$DL$|$ t$(IDfA(H="fA(HJf(f(ƾD954"Dt$0="jHm"HF;HJ(HjLj jD+h +hA+hD+H(LB0Lb@DBD+`@DB8D+@D+@0D+@8BD-DDDHf*=".f="]$]=3"n="uzfff1ffS5A*H=g"A*A*A**^^Y^Y^Y^YY="Pnkv""BL5H="9GAUDJPDA11J"AZAA[DŽ$D9H= "p1H /H=N"11t"5x"H=-"P%H="11H="1Ҿ2H="H5l1H="H51H="H5Ul1sH="1ҾP="`5="S5|$pH="H 1D$p"" "H=K"Bt29sZATDIPDA11b"A[[Et"D9H="p1H H|$htș|$tB"-1H=S"p1H RE?"H=s"1H=`"}H=R"11t"5"H=1"P1H=""11H="1Ҿ>H="H5j1H="H5~1H="H5aj1H="1Ҿ\H="11H JPH="11H n4|$pZH=j"1Ҿ1H   "@"H==" "SAt9V/APDIRD1A1S"ZY@Et"D9DM"D$p1!"- ")$u="H="11t"5"H="PhH="11H="1ҾuH="H5h1H=q"H51H=\"H5h1H=G"1Ҿ=h"t=["zt=N"8t" "$bD$0H="ffD$(="f@="fH 1T$8l$ d$\$H="H 3zffɸZD$(ZL$0f\$fd$H=;"H yZZl$ T$8fH="fɺH yZZGA"ENA9\"ASDHSRH="D11AA"_AXDŽ$D9DH="p1H "1H P;H5i"ff5HVH~ V+y +Q+QHF0LF(*FD+A(F8Hv@+A+q@+A0+A8 :D*Hc "Lk(IH L ;^LY f*AA^YIfA*^YIf*^YIf*^f(YA GU+"="a?""ENH="A9+SDJPDA11 s"AAYAZD9H=S"p1H REv1L$Q1LfffH*$YH*$f/d$xXvHD$x$\$XD$x-("f(D$xf/w,f*)\\$xL-NILH5)"DAALH="H1#A $1H="HzA$&ÅuA$t=";=d"u1LffH*$YH*$X$11!="H$xHB"H ~;tHr`HBhHq`HAh="HӰH|<$fffHDHBhH+AhfH*HB`H+A`H*H5"="H*JxH*BpZ^ZZL$ZD$^t$(T$ H5=HH=Z"HVf(f(f(Vt$8T$0L$(D$ R]A\DŽ$x1H =y"%FQ$|tFH"H U^H="HHxaH+^HE1DŽ$|H="HTHEH$HH"HxaHuHaH ^|;HHbH$pL bLbH+HbL+ bHt$HbL+bLbLD$HHaH+aLL$ Ht$0HaL+bH+bLbL+bL$hHL@bL8bL$`L+@bL+8bH|$(H0bH(bH+0bH+(bH+aHaHT$8IHaL+aLT$@IHaL+aL\$HHHbH+bHt$XHxbH+aHHpbH|$PH+xbIHhbL+pbHT$`L$IH`bL+hbL$IHXbL+`bL$IHPbL+XbL$HH+PbH$HaH+aH$HaHHaH+aH$IHaL+aL$IHaL+aL$IHaL+aL$IHaL+aL$HHaH+aH$ HaH+aHH+aHpaH$H$(H$0HhaH$8H`aH$@LXaLPaH5 "= "L$XL$PARH1t$AUATUSt$Ht$XL$ARL$ASt$x$$$$$$$$@$P$`$p$$$$$$$$$$ H$pR$8$HH=s "$XL$xL$pH$hH 1b'="5H> "H8a="§f%H5 "H*Ha= "H@aH8aYD$IIؾD$H= "HHk1&=!:9=f "Hf-HfEfEH5S "HDHX "fEfEfEfEfffH*affL*`fL*`L*`L*`YL*`DYL*`DYH*`DYH*`DY|$HDYf(H*`DYD$H*`YfD$H*`YD$H*`DT$`H*`YDL$XYDD$PYt$@Yd$0Y\$(T$ l$8L$D$= " H HH=dD$HD$D$Dl$Dd$D$WH= "D$HD$l$xDT$D$d$p$\$hDL$$T$`D$L$XD$PDH@1=u!=t"t1y=H="O1T$01t"5"H=s"PSH=d"11H=T"1Ҿ`H=A"H5Y1˾H=,"H5yg1趾H="H5Y1衾H="1Ҿ~D o"1DVx=H=" H a=B"H +gtH ,gH="12="=(N-E1H(D|$8L%fMDt$@AH݉D$D$D$ l$("AAVID9=H(ENDLLuNje"twAF|$0uD$Dl$1Ix H$H5VDŽ$蔽ET$f= "H="޸EDH eZ$="~~ D$ $f.z(_D$ ]\$(D$ \$(1-!2=! Hr;H*"fEfEf$$ffHJPH+HPffL*HJHH+HHfL*HJ@H+H@fH*HJ8H+H8HH*HJ0H+H0H*D^HJ(H+H(^DL$XD^|$Hf(^DD$P^fH*HJ H+H H*HJH+HH*HJHRH+HH+PH*H*t$@^l$8^d$0^\$(^T$ ^L$D$H5"="DL$XH="RHRDD$`H|$Xt$Pl$Hd$@\$8T$0D$L$(D$ DL$藼=(!Y^D$ffEffHcHY"HfffHffHfEHp;DD$HH+fL*HH+L*HH+H*HH+H*HH+H*HE^H+H*HH+H*HH+H*HHH+H+H*H*E^DT$`A^DL$XA^|$PA^t$HA^l$@A^d$8A^\$0A^T$(A^L$ D$H5"="HHDT$pH="IDL$h|$`t$Xl$PDT$d$H\$@D $T$8L$0D$ 胺9-!A\A]DD$!=!4F1y@ "L"H n;D|$L1L-"IM@L)IfH*^$ZZYnf/vADHA HHHiHHiH9CH)HNfH*^$ZZYf/vAߋ!!HAH eHDL(i11gu!HHl;fHHH"H@iH@iH9w.H)HfH*e^$ZZYH=! DH dܷ!HHdl;fHHHr"HHiHHiH9w.H)HfH*^$ZZYH=!DH cQ_!_HHk;fHHH!HPiHPiH9w"H)HfH*^$ZZH=!DH cҶ!HHZk;fHHHh!HXiHXiH9w"H)H0fH*^$ZZH=!%DH bSD`!E3H5j;HH !fHH@iH@iH9H)fH*f^ $Z.zkHfHHPiHPiH9w?H)H\fH*f^$Z.z^fZfDH=)!-DH ahDu!E2H5i;HH !fHHHiHHiH9H)fH*f^ $Z.zwHfH.XiH)XiH9w?H)HtZfH*f^$Z.z-^fZfDH=A!4DH `耴D !E4ADH= !>DH `IDV!EH=!AߺGDH Z`L! !LH9H5h;HcAHcH!HALL@iH@iI9|ff/fDff/fHfH H*XHAfL H*X'H=!H=!H=!H=!ϯH=!蹯 H=!裯H=o!药H=Y!wIL1hHQ!H=2!ffD|$X!b!At9yWDJPD1A1LǰX@!ZEt$!D9l>-!uH5!=!=!H OHOHDH={!H11蚲PfH*^$ZZY=;!HNHNH=.!HDоH9-!\sHcHf;fHHH!H@iH@iH9wH)HiHfH H*XWHc5o!MHj=HBH4 fDHHHH9uH5|!=!=R!H NHNHDH=A!H1b=!Dd$H-:HAMfDEHHtjH=RHtPH5RHH5! ?1!!~E1E1H-!fDH`;fHJT(HH!HJD(HH9wH)HfH*N!^$HHH=>!HHHDиAIŸLz!D9D=!cH5!= !ffHA*I* !^,ЃwHcH!H Ћ5!H4IH_H=!HD1趫HfH H*X E1E1H-I!@HA_;fHJT(hHN!HJD(hH9wH)HfH*!^$HjGH=!H`GHDиAIŸ*!D9D=g!cH5!=!ffHA*I* 2!^,ЃwHcHw!H ЋU!H>H=J!HGHD1fHfH H*X 1E1E1H-!@H];fHJT(pH!HJD(pH9wH)HfH*!^$HFH=!HFHDиAIŸ謩!D9D=!cH5d!=j!yffHA*I* !^,ЃwHcH'!H Ћ!HH=!HFHD1HfH H*X E1H-!H\;fHH!HLHqpLHBpH9wdH)+fH*ff.zhHzHLAH1HL)I9HyhHJhHGHH)H9HGHfH*^ !HDH=!HrDHDиIĸ9=!ؙ=~!H5!=!ffH*I* J!^,ЃwHcH!H Ћm!HH=b!HEHD1~HƃfHH H*XHЃfHH H*XH~K11x$=!=!Y=!=!=r!=a!=P!1H!H=|Z;HbHbHbHǐbHOH iHHH)H)HDŽ$=!y=!=!ڊ=! =!J=!H5!=!H@B=!H BHBHDH=!H1ǥZH!HcfH {Y;H=t!HfH+f=U!HAHEH*^$k9-]!H5,! 袢׻=!= (sE1H(L%>LH$ID9-(JLHuHz HH5<DŽ$W=!uH=!fHKZ$蔤낋CH=(!DKH5]!k DlHcCDL$D+[HNj=F!HT$PATHT$ AH=!H1RH͘UAUDL$0 H AQAPH=q?͞H_=1!́H=!H 1H=!1H ٢H=!1H 躢H=!1H 蛢H=l!1H |H=M!1H ]H=.!1H =>=K!ԀH=!H vG(1H=!(1H gGH=!(1H YGԡH=!1H XG(赡=!H=y!H J1A胡H=T!1H NdH=5!1H wEH=!1H &H=!1H H=!1H H=!1H ɠH=!11P!AP!DH)H=!XZ軟DzELVRASP!!D$(XD$ Y@|$D|$8Dt$@$/ ! !AATH=n!9v/ARDIPAD11r!_AAX9޶H=!p1H 豟鼶H=u!vH=_!1.H!1Ҿ誙H$0N1H$0H5 HD$H$H5FNH$H5NH$ H5NH$pH5NH$H5.NH$H5hNH$`H5NH$H5ܩNH$H5NH$H5PMH=*!H1裚H$1H= !HHD$1~H$1H=!HHD$ 1YH$ 1H=!HHD$(14H$p1H=!HHD$01H$1H=v!HHD$81H$1H=Q!HHD$@1řH$`1H=,!HHD$H1蠙H$1H=!HHD$P 1{H$1H=!HHD$X 1VH=!11H$ 9D!1H=!H B@$1H=v!11H H=U!=>!?lO=1!M!!AL.A.9 /QDJPAD11!]A\9NDŽ$A&=t!PD!N!ENH=s!A90ASDJPAD11讖!A_AXD9rH=!p1H PELASP鱰ELVPD v!=!D d!=!D$1M1HD$@IHD$8HD$0\$HD|$XDt$`fDIHŸD9-J! H!H!Ht HAtHK;HfH0HHHH9wH)fH*HHHHSH^$D$ fH9wH)fH*HHhHSh^$D$fH9wH)fH*HPpHCp^$HD$(D$H9wH) fH*\$(|$0H!N4X|$t$8LXt$\$ f/|$0|$@X|$(t$8|$@vH!|$X|$Lf/8|$Pv8!uǬf/D$ [H軒HHH\D$HFDxm!#!!KEMmdGy|$T|$(t$1IDH CL^D$ t$X=!!$D$(H=R! DH 2A=!$D$XH=!DH @讔=!#H=!H D1脔H=!DPl$ f/-JEff/<\$Pf/8(D$|$ 5Yt$(^f(D$YYd$^YXf/dD$fE1H7Gf/wGH1趒!uKAft$A*f/TA2!H=!t :H=!H=!1#HƒfHH H*XD$(HуfHH H*X+HуfHH H*X;HуfHH H*XKD$ 1IDH RAL趒=!BO!K{Mu{G}d$H=! DH >^f(R=_!A!K {Mz-GE}l$H=g!DH a>^f(1 DD!H=.!H @ʑ=!=AH=!$DH B@D$(^$蒑=!@|$(ff.zft_HF;1HH!H8HHqHHHHHH9wH)HHphHIh1H9wHH)HlyfH*^D$(H=a!+DH ?=!iGH!D!B 0H!B0AKtAMxAG{^H=!4DH 4?|=!?H(!H=!FDH %HD(1@=M!^?t$ !L%z!~D~|$2L%)fDH=Q!1LuH!HH(H'fH*ff.>=|$(H{!Lf/|v HsHA]H=!H #1MhH9!D$(MH=!H <9BY0,MN1T$X(D$L%t!HHD$ FL:ATPL!Ht$h$[=!fH$Ht+Lf! l!HƋ$蒏1諍14H==!11TtY!5!H=!P褊H= !11$H=!1Ҿ豊H=!H5'1H=!H561H=!H5'1H=!1ҾϋH!L8aMuLH+@aH;W!~HN!LHaH=`!1H r舍HA!ff5YH=*!H {H8aL !t$IH*L+@aI*^ZYH!ffH=!H 5H*8aL@aI*^ZYD$nj!!ENH=p!A93SDJPDA11!AAYAZD9H=f!p1H eXH=!藧D|$XDt$`Md$HD$1LD$0L$8H ˕pT$@^$YY锭D,d$ H%A1,fDH=!!H1A車A2u-AdSELATP.H=!p1H sϻH=!11>tC!5!H=!P莇H=!11H=!1Ҿ蛇H=!H5$1H=!H5<21H=j!H5$1܉H=U!1Ҿ蹈H=B!11H 0譊=! 1HhH=!p11AHt;-!|H=!1Ҿ1H 1N!1H=!1H De=(!Y!!CL&H=v!90ARDJPAD11b!E_AXD9!H=!p1H 蠉H=\!11ktp!5!H=;!P軅H=,!11;H=!1ҾȅH= !H5#13H=!H5011H=!H5"1 H=!1Ҿ=!$bL$H=!1H 0ˆ=!aH=v!H 01薈H=W!1H 0wH=8!1H 0X=e!]aH= !H 01,H!f5qH=!H Y0H*`t$HYH!fH=!H 0H*`YD$H訇Ha!fH`Ht.f-mfH*H*`ZYZ^H=!H /A=N!0`H=!H /1H!fH=!H T/H*`YD$HنH!fH=!H /H*aYD$H蝆HV!fHaHt.f5bfH*H*`ZYZ^H= !H .6=C!^H=!1-H . H!ffH*`f/OYD$H-H=!H 2Hy!fH=v!-H 1H*`YD$H脅H=!fH`H_-H=!H -G=T!]H=!1<H -H!ffH*`f/NYD$H<H=!H 1фH!fH=!<H 0H*`YD$H蕄HN!fH`H]<H=,!H ,X=e!1]H= !H 1,H!ffd$HH=!H*`H H*`YYۃH!fffd$HH=!H H*`H*`H*`YYYyH2!fffd$HH=!!H ‚H*aH*aH*aYYYH!fffd$HH=!H H*0a H*(aH* aYYY赂=¿!{[!!EN H=Y!A9'QDJPDA11g!A A\A]D9tH=G!p1H F|9RH=!11t !5!H=!PT~H=!11ԂH=!1Ҿa~H=!H51̀H=}!H5*1跀H=h!H51袀H=S!1Ҿ=!PH=3!.i$|KH *1MDŽ$|=O!P!)!EN H=!A9*(ATDJPDA11!A A[[D9H=!p1H zƀH=j!11葁t!54!H=I!P|H=:!11aH=*!1Ҿ|H=!H5;1YH=!H5*1DH=!H51/H=!1Ҿ ~=)!XH=!1Ҿ1H )H=!11H )H=!11L$H )H=\!11H )=!XHC!H=,!1H )L@p1cH!1H=!H )L@x1<H3;fH!H=!H s)H@`H+B`1H*Z^$~1H=!H K)1~Hr3;fH!H=p!H 1) H@hH+Bh1H*Z^$~H+3;HD!fH=)!H ( H@XH+BX1H*Z^$K~=X!VH2;fH!H (H=!H@H+BH*Z^$}H2;H!fH=!H x(H@H+BH*Z^$}HC2;H\!fH=A!H @(H@H+BH*Z^$`}H1;H!fH=!H (H@ H+B H*Z^$}H1;H!fH=!H 'H@(H+B(H*Z^$|He1;H~!fH=c!H 'H@0H+B0H*Z^$|H1;H4!fH=!H O'H@8H+B8H*Z^$8|H0;H!fH=!H 'H@@H+B@H*Z^${H0;H!fH=!H & H@HH+BHH*Z^${H=0;HV!fH=;!H & H@PH+BPH*Z^$Z{=g!SH=!H %)1.{H!fH=!H A&)ZzH!fH=!H &)ZzH}!fH=b!H %)Zz=!RH=+!H %71cz7H!NH=!H %(^^^ )H,fHiÀQH*1\(D$^^H,yfIغ7VD$H U%ȑH=m!HiIH*\^H,P1yHR!f*!7H=!H $(^^^ S^L,fIiQH*\(^^^L,fIiH*\^^H,H$1xH!f_AX(\^Y/sBH=a!H Z$7ZxD!H=4!71H Y$lxLݾ!71H=!H G$ FxH=!1L!H 7 x=-!OP!!EN H=!A9QDJPDA11hvA]XA ˽!D9H=!p1H qwf/^bD$H 鼖FL2UP鈥H=]!p1H \qOwIH=!11H %.w=;![H=r!1H o%w=!ZH=F!1H H%v=!ZH=!H %1v!+!镮='!}=!BH !H=pwD-!DŽ$-!SH=ѽ!11wt !5!H=!PXrH=!11vH=!1ҾerH=~!H51tH=i!H5E#1tH=T!H51tH=?!1ҾsH=,!11H y|wu !VDi!1Ҿ1H=!H }1H@uH=!11H I#$u=!! Dd$pZ-H]f(,DDH=7!?AH - HŸHD1tD9%!HO);fHH(HY!HH(H9wH)Hx%fH*f^$f/Uf\HfH H*XfA*t$f/=H 5fH1sD=#!EuKAf|$A*f/A1!H=.!t pH=!H=!1pH=!p1H msrH=!1D$IpD$ӒH=_!p1H ^mQsTH=!11tt!!5!H=̺!PloH=!11sH=!1ҾyoH=!H5 1qH=!H51qH=p!H5 1qH=[!1Ҿp=!VH=;!11H ~r=!VH=!1 H Rr=_!eVH=!1H t&r=3!#VH=!1H Sq=!\H=!1%H .q=ۮ!G\H=b!1-H q=!\H=6!14H vq=![H= !1<H Jq=W![H=޸!1BH q=+!B[H=!1GH up=!eH=!1mRH=#!1mH=!p1H jp齎RP鏆!ARPaAQDKP%eD$$T$2H=!mjH=!l!HjH=!At$11HApD9%b![GL7AURH=k!11pt!5]!H=J!P lH=;!11pH=+!1ҾlH=!H5d 1nH=!H5X1mnH=!H5: 1XnH=ٶ!1Ҿ5mH=ƶ!11H$P(oH=!11H  o=!YH=!1H Jn=!WH=T!1 H /n=!EWH=(!H 1nH!#;H:!H@@H9B@V=y!WMH RH=ٵ!1@n=M!VH=!H %i1n鎖H5!=!DL$ DD$l$轞DL$ DD$ffffHfA*l$=A*H=M!H>iA*A**^^Y^Y^Y^YY1nDL$ DD$l$=!1H-Ω!fH!;H !HiӸfHH HD0HT0H9wH)WfH*H=!H ^$Hm9̳!A/gD= !yH5V!=\!kffHA*I* ԩ!^,ЃwHcH!H H=!H=1mE1ff$$H=dz!H!H-q!H ;.ZZXXIZZIN,ffJ4+J *HeH+eH*HbH+bH*=q!^^uNDAt$H \$ T$d$ikH"!H;ffd$H=޲!J +I\$ T$HbI+bH*HeI+eH*^^=e!T$(\$0wNE1ff$H-`!,fDZZXXIZZIWN,ffJ4+J *H8fH+8fH*HcH+cH*=)!^^uND)At$H od$ \$T$!jHڲ!H;ffT$H=!J +Id$ \$HcI+cH*H8fI+8fH*^^H=9!s11H$PiDKAUPH=!fH=!TD$H 韈H H=! 11?i鿉H H !H5;ff=HAA+F+FHA0AA8+F+F0+F8*HA@A +F +F@H= !+F(A(1*H Ue^Yf(L$hL$f/ Af/ !H=!e"jH 1Ҿ1Ph=]!3H=t!1e ARPE1{H KHЃfHH H*X0E1=T!H=]!OWH=P!A DIcH ~!Dˤ!fHHHHA;H++H+++*E~AFV!KAfAA tJfA*Y~D)f/vH D1AL$fH=P!L$A u5ڣ!~:)w)AT$H  1fH=!f.!AD9~AA@?U D$k2L$bH=!L$1bH=!DD1L$H S eH=W!L$L$bH=5!L$`yL$jbH= !L$WAT$H  1peH=!L$$bH=Ŭ!L$H=ì!s11H$P'e鐑HǃfHH H*X1cH=!H!`|$Iŋ@D@AEEEDHEMS|$ BH|$HB1HHHHcHt$HHI#cH5L`H5 EcH!HrgL_1Rc=?!QH$Ht'1bH1$IH!=>!Z[1Hj(bAIپH'Q1d9-!H=H!}1H -(H1Q\d=m!`H=!11H (HIQ,dH=!1H ס(HQ dH=ԫ!1H (HcH)Hʫ!HHHH(iH1c9-!H={!1H0H!HHHH(iH1ucH=>!9-!H 1`H= !1H (H`6cHq)H!HHHH(iH1c9->!H=Ǫ!1H;0HӪ!HHHH(iH1bH=!9-!1Hq!ȋ5 !uNff*H*^,w HHL!H L!(H1NbH=!H0!Hi͸HnHH1bH=!9-F!f1Hɝ!ȋ5x!uNff*H*^,w HH!H Ly(H*1aH=o!H!Hi͸HHH1waH=@!9-!f1H!!ȋ5Н!uNff*H*^,w HH!H Lў(HO1`H=Ǩ!H!Hi͸HHH1`H=!9-!f1Hy!ȋ5(!uNff*H*^,w HHT!H L)(HN1V`H=!H8!Hi͸HvHH1'`H=!9-N!f1Hћ!ȋ5!uNff*H*^,w HH!H L(HN1_H=w!H!Hi͸HHH1_H=H!9-!f=!I%ZL \=!tH-!H8!D$AN=!MHNH5HNH=蜞HNH5NNH=肞HMH5H=hHMH5H=NHMH5pH=4HMH5H=HMH5MH=-HiMH5NH=hHOMH5NH=̝H5MH5NH=貝HMH5$NH=q蘝HMH52NH=j~HLH5@NH=dHLH5NNH=EJHLH5BH=Y0HLH5RH=hHLH5`H=uHeLH5lH=HKLH5vH=ȜH1LH5MH=讜HLH5MH=_蔜HKH5MH=zHKH5MH=`HKH5 NH=FHKH5H=-,HKH5#H=3H{KH5*H=:HaKH5MH=+ޛHGKH5#H=8ěH-KH50H=誛HKH5MH=,萛\$ke=!eH=dFOW!eRPZH=b!WIoH=L!WnH=6!lWnH= !VWmH=r!p1H qTdZpHfH H*Xz=!H=Ρ!/4D!1Ҿ1H `Z铋=l!H=!3D!1Ҿ1H `YQH! >!H=_!PH _1Ҿ1Y! !H=1!PH _)1{YH/!H=;HbHbHbHǐbHOH iHHH)H)HʉHfH H*XRRPAQFL3P ASPJUPH=j!1UnH=W!Um=ŕ!71E1H=!H H-XAIcfAt$AHHiҐHDH+DHH*^$?XD9%!H!H ;H=!H@fH+AE1H*H >^$H-2WH=_! 1H 8WAIcfAt$AHHiҐHDH+DH H*^$WD9%!H6!H  ;H=!H@fH+A H*^$H 5W=B!51E1H=!H {H-KVCIcfAt$AHiҐHH+HH*^$VD9%!Hl!H E ;H=!H@fH+AH*^$H kV=x!41E1H=ȝ!H H-5VCIcfAt$AHiҐHH+HH*^$UD9%Q!H!H { ;H=T!H@ fH+A E1H*H ^$H-UH=! 1H xUCIcfAt$AHiҐHH+H H*^$3UD9%!H!H ;H=!H@(fH+A( H*^$H 0T=!83'1E1H=A!H EH-TCIcfAt$AHiҐHH+H'H*^$iTD9%ʑ!H!H ;H=͛!H@0fH+A0E1H*'H h^$H-\TH=!.1H SCIcfAt$AHiҐHH+H.H*^$SD9% !H^!H 7;H=!H@8fH+A8.H*^$H ]S=j!151E1H=!H H-s'SCIcfAt$AHiҐHH+H5H*^$RD9%C!H!H m;H=F!H@@fH+A@5H*^$H R=!R1<1E1H=!H H-]RCIcfAt$AHiҐHH+H<H*^$RD9%y!Hʚ!H ;H=|!H@HfH+AH<H*H $^$Q1H=@!H hCQH-=HcfHiҐHH+HCH*^$dQ9Ǝ!sH!H ;H=Ƙ!H@PfH+APAH*CH a^$QaH=V!H D1P%gd$(+H=&!1MH=!M=H=!kMH=!UM׽H=ї!?M魾H=!)M\$Ng\$(H=!11 Q;*H=!11PH=ۗ!1ҾLH=ȗ!H51NH=!H5q1NH=!H51NH=!1ҾM=!!D ٌ!tD$wH HƄ$ Ƅ$ HDƄ$ Ƅ$ Ƅ$ D$` D$X W 9~!f*A^$f/=~!$=Ȇ!wHH HNʾ3OH=!PD$PNA PDD$P1@_AXH=Y!O=H=C!9=H=-!#=HfH H*XQHfH H*X[H|$0H=͇!$f^VA*/wL={!EHl$HI5D$LHl$HEI H= !BT%1H pA>A;~Hl$HM鋀HfH H*XH='!;aD$;H=i!D$]]H=O!:[b1PfH*^$ZZYFU=!HHH=r!HDо>9-Ƅ!~VHcHJ:fHHHX!HHiHHiH9wH)HmHfH H*X[H5! H-`f;H5!=!n=Ń!H H7%HDѾH1H=!E1=BfH*^$ZZ={!H=r!HHEA=D9%ǃ!~VIcHK:fHHHY!HPiHPiH9wH)HzHfH H*XhH-mAfH*^$ZZ=т!H=Ȅ!H<HEՃ<9!~RHcH:fHHH!HXiHXiH9wH)HyHfH H*XnH5T! 9 SH^!H7:E1H-z! S! $\$ d$8l$@ fDZXIZIMcfIlJDJ+DH*^uNDH _1At$T$L$:H!fH:L$ !JDJ+DH*H=c!T$^TH-z! $ fDZXIZI$McfIlJDJ+DH*=6!^uNDAt$H T$L$8:H!fH:L$H=!JDJ+DH*T$^S\$ d$8L-8y!l$@ $;HffZIH+fH*^XfZI6D9%ev!D=U!HcuHffODpH+f'T$@H*H l$8d$ \$L$^+9H!H:H=!T$@l$8d$ \$L$6L-7x! $;JffZHJ+fH*^XfZHG|j9-ku!nj=\!LcuJffMDpJ+f;T$@H*H l$8d$ \$L$^28H!H:H=!T$@l$8d$ \$L$H!5~!1\$ H ~:HGu! $d$8$f.ZXHZHLcfIxlJDJ+DH*^uLuH 1Ҹl$L$Z7H!fH :L$5~!JDJ+DH*H=~!l$^WHt! $#fZXHZH#LcfIxlJDJ+DH*=}!^uLuH l$L$6HL!fH !:L$H= ~!JDJ+DH*l$^V\$ d$8 hH=}!H 71&6鏽H=}!H <16饱H=}!H v-15钰H~!Hk:H 6LPaLa1L+a15HZ~!H3:H 6H==}!LXaLa1L+a1b5H~!H:H 6H=|!L`aLa1L+a1#5H}!H:H 6H=|!LhaLa1L+a14H}!Hv:H o6H=|!LpaLa1L+a14H^}!LxaLaI\H:H=0|!1ҾH 26L+a1\4H}!H=|!1H 56LaH:L+a1$4H:H|!H 6H={!LaLxbL+aL+xbAUH`bH+`b1P13Hf:H|!H h6H=i{! LaLpbHhbH+hbL+aL+pb1H$1u3H:H'|!H P6H={! LbLXbHPbH+PbL+bL+Xb1H$13H=z!XZH 86.12H:H{!H=z!LaLaL+aL+aQH HaH+a.P12H<:HU{!H H=?z!LaLaHbH+bL+aL+aH$1.H2H:Hz!H H=y!LbLbL+bL+bHbH+b.H$11H:Hz!H lH=y!L(bL bH0bH+0bL+(bL+ bH$1.1H+:H?z!H=0y!H L@bL8bHHbH+HbL+@bL+8bH$1.71^_w!1Hu6DH=x!H111uat$Yt$H Ht$(鑛1t1虔E>jm!G6H=fx!t-H=Px!1a-WH=x!1N-kH5"y!=(y!H-:0a=v!H HHDH=x!H110H9x! H|tH:<_HH y!wHH H fL :HLx!H$HtfH*^XHH9tNHctHiI MfHIH9wH)yHfHH H*XAf=u!He*HOH=w!HDи^fZZ/H5w! H-:-H5w!=w!_=wu!H HdHDH=fw!H11/H9aw!H|tHD:DARIAEHLPAEPAE PDL$81AQDD$0L :APLlH0駽H:La1H 3$H=i!L+a1!Hj!H:H ,$H=i!LaLa1L+a1!H=.i!tOH=i!^H=i!HH=h!25H=.i!1H=i! ~H=h!H=h!]H=h!铲H=h!=]!,H=h!1A2Q/L$oH=h!L$ A2L$;H=g!L$]1"H=g!t$AU1L$H * H=g!L$L$H=yg!L$$AUH L1L$H=Hg!L$-1H=/g!L$rH=g!L$L$HH=f!L$jL$H=f!L$t$`AUH 1&H=f!At$AUH s1H=uf!L$H=Yf!L$VL$H=7f!L$L1HCg!HYH=s L1H5־*H=g!H \(H1AH\('H=f!EDIH1AD9%x[!}`H=je!H  1^1H =Z! H<fH=e!H B*D8^$=Z!H9f!H=Be!H :H@yLp1MI F=SZ!%He!L:LH@y1Hs;tH= t 9uHHItL$LƄ$ H Ib!HƄH=d!n=H=c!1[=H=c!E==b!|ff Nl$Y-3p3l$(H=c!1YH=sc!H=]c!դH=c!ǩH=c!酩H=kc!CH=Uc!1vH=:d!H #Z(H1X!FH/d!X14Hd!H8ĈU(H5c!=c!HPL=a!H HxHDѾH1H=c!E1H :IcfHc!H=c!H8fH+8fH ^a!H*^$HEAxAuH5;c! 3uH55c!=;c!HCK=a!H H6HDѾH1H=b!E15`!Hb!IcfH :H=b!HcH+cH!HEH*A^$AuH5xb! ctH5rb!=xb!HʶJ=A`!H HHDѾH1H=&b!E1NH7b!IcfH :H=a!HШeH+Ѩe=_!HZHEH*A^$AuH5a! ,sH5a!=a!HI=_!H HHDѾH1H=da!E1Hua!IcfH B:H=;a!HЈbH+шb=_!HHEH*A^$1AuH5`! jrH 1-H=_!1H ǖH=_!H 1H=_!1H YL$H.HЃfHH H*X1BH=_!1PH=T!fH g H=^!!饨H=^! cV. ).<.鏄.還H5_!=_!HG=z]!H \HHDѾH1H=__!E1[Hn_!IcfH ;:H=4_!HcH+c=]!HHEH*^$A*D9%S!H5^! `pADt$P-\!H=]!wH=]!H !1[!DŽ$H=]!wH=f]!ЦH=p]!騤H=Z]!xfH=D]!1e'H=1]!OH=]!9飣H=]!#aD$H=o\!D$鿫D$H=M\!D$逝HЃfHH H*XY d, ,7+鮂+=T$Dt$ = =Q!$EeH D1H=[!9u߃=Q!A"{T$D$ =[Q!EeH \D1(H=[!9u߃='Q!A0{h+D11-Z!L:AH\!7+f(&f/f(wf/vAGADDH9HiָMfIHMXHHBHI9wL)IfH*I@hHRh^$fH9wH)xIfH*f/^ $w f/cKZf/f(MLGZHЃfHH H*XHAfL H*Xe@ gO!A9=O!L1D;O!H CD,O!11H=Y!H `=mO!OL-Y!zrY|$H51銃H$H$H$HfH*Hf)ffH*YZYYZ/s f/ = X!fH=Z!HHZHDи(sa ЉYN!X=EN!F1y:HL1HHHHx?HHHs>L @:ASIAE HLLP1} [XCE1f&H=X!y fE1H:\:H-D$L%oX!txHH tdH5=H tLH5*H t4H5H tH5Hq D$HD$9cU!cL @ 1H=V! H=V! h1Kp=U!1   }1H =K!,H=U!1H ~^=kK!H=U!1'H 2=?K!t-u%D$ 1L%:D$D$D$(l$H9V!݉\$`E EPHHAq$H H ffH yW!HfL;:LTV!fHH|fH*^L^HHHHXfI9wL)IfH*^L^hHHhXfI9wL)IfH*^HNpH@pXfH9wH)HfH*^XHH9HctHiI2fHILHI9.L)IHAfL H*XHAfL H*XHAfL H*X*HfH H*X=fffA*f^f(fZL$(XZf|$(fZL$XZft$ZL$XZf\$fZL$ XZf(|$ Xf.E„ff.D„ffEZZXfZ^ZYL$HH:H=R!LH d$0l$ =H!l$d$0Vf(źH=-R!H 7d$ =G!d$f(ĺ'H=Q!H =G!H/fffE1ZD$(XffffffZfd$(fZD$XZf|$fZD$XfZfl$fZD$ XZf\$ fEfH=Q!12H=Q!yd$H=P!]d$0l$fl$(sAD O!ffH=P!ZL$f(ZT$fA*XY\$HH Zd$ ^fZ 6H )1S:H 1Ҿ1#H=0P!1- HD$@HD$8HD$0l$HY|H Q!1E1H=Q!HH3 H P!H=Ϩ JLHھ1IH=P!E9H 3H=P!1H ϢH @E!1H=~P!H| D!1H=^P!H N!1H=>P!HSbH=+P!1H ͺ:HAAH=BH=O!H/H1H$H=O!HLLH1H=O!1H E(HAMEM1EEH={O!HAEAUAM H=RO!DHJ!HLH1] C!1H=O!H= C!1H=N!H C!1H=N!H oL!1H=N!HH=N!1H B!HdH N!H=RH cN!H=OrtH FN!H=U騡1H-B!fH:H 7N!HiӸfHH HDPHTPH9wH)fH*H=M!HR^$H9L!AXD=ZB!yH5M!=M!5ffHA*I* %B!^,ЃwHcHj;!H H=OM!H1lHЃfHH H*X4ADt$PH=:L!-f=J!Υ1H@!ȋ5A!uQff*H*^,w HH:!H LLB(Hc1L%L!HL!LHi͸HHߠH1L%XL!9-J!`1H9@!ȋ5@!uQff*H*^,w HH:!H LLA(Hϥ1L%K!HK!LHi͸HH1H1L%K!9-J!`mH=K!H yA(H1HHھ19-@!H=GK!}H 1"xfH 1Ҿ1oH=I!)YH 1Ҿ16H hH 31Ҿ1H G1E1H=I!H  =>!7LH=I!1#DH o=>!H]J!H=fI!-DH DH@yLD`1t=>!H J!6DLH=I!H H@y|TH LD1%=2>!8HI!H=H!9DH İH@y1LC==!IEED9bLL$HHHD$H<HcH`I!Hi۰H@yHDNLD;wL׹ 1L LT$ LT$==!u6HX<H|$f _=!*D8^$f/v =kF!C.9F!H=G!HH!AH H@y1HDNHASARDD=S/H=@!fQfffE1A*ZL$(fffff^Xf(fZfl$(fZL$XZf\$fZL$XfZft$ZL$ XfZfd$ fQLHH1TL%A!/H5A! 11L%:|H5A!= A!)H=@!HiH1 HH9@!I<tL A!H:1fD!^ $DHf(HO!H5>! 11L%:$H5>!=>!&H=>!H.H1 HH9z>!I<tL ~?!HW:1fD!IfH*XHA9~IIctHiHLfHLPIDPH9wH)HyHfH H*XEH==!^ $DHf(H#!H5=! 11L%:H5=!==!%H=_=!HH1y HH9N=!I<tL R>!H+:1fD#H=;!HաH1! HH9:!I<tH ;!Hө:1fD,fʉ,,ʉ*XD>!EMAH i`1DH1DH߸D$H A` DHD$H $`DHD$ H `d$f.%`zD$H _DH1L=ihUDHH ]1<DH YD$D,E%LH1D9gD !Et۾ H@ff/D$f/D$lf/D$ T$(f/f/x\$f/!trf/vlH ! H=^ w!CH ^1DH1*)Df\$(\$ \$\$\$H5!=!IK!d$\$(T$ L$AHD$H=N!H8H3[]A\A]A^A__`YD$1L='jD,E5DLH1PD9tDX!Et߾HYD$ 1L=]D,E=DLH1D9t#5!t Hf.=!YD$(1L5a,DxxLH1D9uD$X}1L=`YDD,E8LH1@D9tI!tHf .!DHH q\1MH<DHH pBYM,ЃMOH81[]A\A]A^A_D$(+Dkd$\$(T$ L$IH7}D$H=!H8[]A\A]A^A_Dft$(t$ t$t$t$#1H1H?f|$(|$ |$|$|$fl$(l$ l$l$l$fd$(d$ d$d$d$fL$(L$ L$L$L$f@AVH5;jH=ZAUATUSHdH%(H$1GH(L5G!H$IMf 1gtAUIM9HLHL H!%tLDHJHDщ@HL)DH!%tDHWHD@HL)H_HFI*ILILHLKHHM9(HH5hH=zHH!L5!$IMf -GtAUkIM9HFLHL H!%tLDHJHDщ@HL)DH!%tDHWHD@HL)H_HI*ILILHLKHHM9(HVH$dH3%(u}H[]A\A]A^AU߉AT=T8f.AU߉AT=T8f.AT=fT8[fDAT=fT8atcff.@AVAUATUSHH $HHz:HIdH%(H$1fDII9t/A$t&tA$I|$ILI9uH5afH= WIHQIH¾LMfzHuv(L 1豿LH!%tDHWHD@HHL)HLHCHH9LL$HL H!%tDHJHDщ@LHL)DH!ʁ t€DHHHD@HL)H< fDL谽H$dH3%(uH[]A\A]A^(HH5x:1It#I tA9uHcHHDff.@AVAUATUSHH $HdH%(H$1HIH5LLDEuL蠩Aƒ~D9LAUA< LKuK< 1DT$L LL$L\$贪L\$IcM>ADT$LL$ IӈbLAƒ DA9LAA< LKuK< 1DT$Lc LL$L\$L\$IcM>ADT$LL$ IcH=55L551L%C[fH5CLDE H5nCLÀۅzI9-5WM>LLDEuLAƒ~A9LAUA< LKuK< 1DT$L# LL$L\$ԨL\$IcM>ADT$LL$ IӨeL(Aƒ DA9LAA< LKuK< 1DT$L LL$L\$4L\$IcM>ADT$LL$ I8fH([]A\A]A^A_ÐI 1 M># LHD$Z WHT$JDH I !DL9-H9 M>A< uL- I| 1LL$HL$[HcLL$IfHL$ I 1 IIlj\ HHT$藥EHAHT$HL9I9 }IB<: uL- J|:1 HL$蠦HcHL$Icg 롐U1SHH H=./Hǀ膤H- H/fZH1@H|; t=H9uH=1H1HHL[]H5?ȦH1H- fZff.fu#HЄtW< u(uHD1ff.f)AV AUATUSH)~DH)HHBLTL fDHHZL9tLHuH߽E1腣 <+:uAHD5` gHH9r1E1L->Efu@HЄS< u(uH HHHHHHI$HphHP VHpPLH0VHpHL@(1VL%H Hq HL'> HAH8HHŸHGHHWhHO(DO HHHGHHHWh1HHOp H HGxHGPHG0HHHG$P1D9%. XZ[]A\A]A^ÿ迥ff.@AUATUSHHp dH%(H$1HI1H.f.H,MHAxHH 9J WH裢H:H# HcH5\HLiLMIAIH$I@`IP MH0IǀIǀIǀI@hI@XI@PI@@I@HI@8I@0I@ PIPIPI@`PI@hPI@XPI@PPI@@PI@HPI@8P1HPH1 HLHǁHyHHAhLAPHHHLA0HyHHAhLApHxZfH*^9f/9c\+H,L1MXH1HIH HAxHHfHH H*XDHq HLHA@LAHHǁHy8HA@HAhLAPHyHHA8H=y I1HZ!H HLHyHHAhLAPH ? Hׅu4觟 H$dH3%(H[]A\A]@ÞH` fDH5FH=k:HH; Hfo2/V:!V:)U:fo"V:)U:f)U:)U:\ B莞ff.tKH t1HHt#:u uH HufDAVAUATUSHHF dH%(H$1HAHHɞHH H謞H1 1E1AI9fDH,HAHøD9% # HH H1H+HH HH81HHHO$IVHHW VHLVHw`VHwhVHwXVHwPVHw@VHwHVHw8VHw0HVH51XܞH5 H`H HHQHHqhHHHQHHHHQpIEHqhHQxHHxGfH*^>f/>\0H,HL1HփfHH H*XDE1 H=@ uH=3H0aH $H=v3H8aH H=k3H@aH HHa[H=~2H`HF  uB5 ~HHq911DfH(*XBXB,9|ߙHfff.@H9H@ fDHH(H@H@H@H@H9u   uÐff.Hc HH H9HȃHPX` G  @z l  u ]D uÐH1Ҿ1 b1Ҿ C1ҾД $1Ҿ豔D E1Ҿ萔D} E1ҾoD \ E1ҾND; E1Ҿ-= 15 tf1 tK1 ؓ t01 轓 t1 H鞓HfSHdH%(HD$1H\$tMGtW tju^1ߖ t HD$dH3%(H[f11H8u裕뛐ulH5U u! tH= {zfDЉ tI t1XfD+=m t̒5^ rh@9 u  H5mC r tbH ] H HPyHmI:o 1b Hc)Hh@H(H9ufDHW$ H8 H-PyH I:fH.H-HEG<wuHHcH>H-H-H-H-H-H~-HDϹ@1L9@H= DH} HAUATUHSHHwEI蓔ET$1M HH4LHcL HApu@-Aŀ_@At-LHJDI9uHcL ;HL[]A\A]A9~HL;A)JIH9tIHA@tHL[]A\A]Iff.AWAVAUATUSHH $H8H|$dH%(H$(1aH HHHDHH9uHH9uH=F:H562HD$HH$ H\$  HD$)H= L1HJ艒k e HT$H|$ɏHB ?$ #tLt$HL|$ ItH؋H!ʁ tHc- €DHHHDHH)L`LH F:HA A_EtAaE1A}LHB- IŅLt$E1AIƸA9tkHLՎu3 H D DHDayH="m ӂH="WH=`aKH=a?H="3 虂H=aH=aH=bH=NbH=bH=bH=bՂH=bɂH=7"轂H=C"豂H=R"襂H=c虂H!H5L"1迅H=csH=\cgH=xc[H=cOH=cCH=Ld7H=d+H=dH=eH=TeH=eH=eH=fH=LfׁH=fˁ 1H=f赁H=.g詁H=Rg蝁1fDt_ tMUSH(9HfHHH9t.<t%;tڂ飮H[]fAWAVAUATUSH(H=h dH%(H$1PHT$ T1MT$  HcځH= HHt$dÅ~vD E1L5VL% H-8:L=E9DIcLQXw8IcL>t$H= 3 VHD1H$dH34%(Z H([]A\A]A^A_DD$ Ƅ$fD D 1H= EA fD9'gD= 1 H= AłHL$HH~Ƅ$HHËH! t€DHCHD؉H)^D u 1H= EA\ ;6fD苂1D 1H=p EA fD= 1H=/ A Ł5 G H= A蘁 AN‰ l@%޾ AYfH=9 A  ,'H= Ak  Hc i x(H:<HBH @HHHH9u 1J !@HIHPHDH9uD- ELH=l H5U AM1DHHHPHH9uAHi9fHH(HBHBHBHBI9uR D V H F H fDD 1H= EA fD* AvD 1H=~ E UPJ BH@H= A " 1H= A ~5 1H= 11A H= M~H= ~@D En H= A~~yfA0 [D AEDH=-   $~H= Ac  }D E6  H= A} 1H= A }J AKMG' Rf 1H= A -}( . 1H= A |  H= A? |f H=& DA | n 1H=Q AV ]|XD 1H= EA +|&fDD 1E@A= H=Z {D 1H=P EA| {fD  jf. 1H=) A m{h5^ 1H= AF ={8= 1H= A {  tS  {  r k @ Mk1脸 , &  A =pwҶ KtMt4GtfD ff.@޶ u 1=  u= = u5 v h F  *    f ܿ V   ÐAUATUSH(HX dH%(H$1H{Hl$HvHXH HvH;iE1Ll$H8H1 HH4HLVHtHTVHtLLVHtLDVHtVHtVHtVHtAUAUVHtVHt1VH5jZmwH`tH= I1HZxAHA tH@ HuH:о H= u94uD% H$dH3%(H([]A\A]KtHг fDE1H51H=mwHH H_fo+:+:)Z+:foŽ+:)T+:f)Y+:)b+: 6tff.AWAVAUATUSHH $HhL@<$Ld$AHcL@dH%(H$X1rH5DLvH{H\$PHIH߾rLIAsAHDmH5jHH,H HH@y1HHJCuH L@yII~rADE)H1f.HD9`8)Vux uI`~PIXHcINHPIPIVDHPMNPILPIHMFLPI@H5$XPI8PI0PI(PI PIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIPIFxPIFpPIFhPIF`PIFXPIFTP1sH (>D $LL1@@oH5L;tIH4HHpLIpAJH HHH@yHHHpHHhVHLVHLx1VH5 rH } 'fDI؉H VH=M 1t1H$XdH3%(Hh[]A\A]A^A_fDD$H= IHyV1s1fH\$PMLH1XnEHH=&:n"':WQ1H4 D $LL @H@y1HHǁHǁ@mH5LQrIHHC AL=H$HC L5HD$LHpHt2 LHtv LHt3AuLn?I؉H`UGML H5 H|$H5 H@y1HH¨pH H<$H5 H@y1HH p[[nff.f.0< wHu1ff.fATAH= U1SmHHHoHtKxuHx@t#0< wH D0< wHuEu!H߃FoHuHXn[]A\Ð 1nkA9xH5 1ofAVfAAUAATIUSHcH`LD$dH%(HD$X1)D$)D$ )D$0)D$@trH-StH-SH HEpt8H1 HD$XdH3%(H`[]A\A]A^DHofD= H-sSt @ t H-XSm|fDH= ID1HZSo= AteH\$E@1L@Hbjll1HLL1|oHn*okH|$H\$VjLJ @HDHRHlRHQ@RP RR@P1iH0jf.fAWIAVIAUAATL% UH- SL)HcHt1LLDAHH9uH[]A\A]A^A_ff.HH/usr/bin/lscpu 2>/dev/nullArchitecture:Byte Order:Little EndianBig EndianCPU(s):On-line CPU(s) list:Off-line CPU(s) list:Model:Model name:Thread(s) per core:Core(s) per socket:Socket(s):NUMA node(s):CPU MHz:CPU max MHz:CPU min MHz:100%%-|95%%-|90%%-|85%%-|80%%-|75%%-|70%%-|65%%-|60%%-|55%%-|50%%-|45%%-|40%%-|35%%-|30%%-|25%%-|20%%-|15%%-|10%%-| 5%%-|System%%_+BBBG,%03d,%s BBBG,%03d,%s continuedDGBUSY,Disk Group Busy %sDGREADS,Disk Group read/s %s/etc/mtab/proc/cpuinfo/proc/stat/proc/version/proc/uptime/proc/loadavg/proc/net/rpc/nfs/proc/net/rpc/nfsd/proc/vmstatfailed to open file %sT%04dps -p %d -o args 2>/dev/nullUARG,%s,%07d,%s,%s Avg%3d% 6.1lfW| AAA,steal,1 cat /etc/*ease 2>/dev/nullps -eo pid,args 2>/dev/nullBBBP,%03d,%s BBBP,%03d,%s,"%s" nr_dirtynr_writebacknr_unstablenr_page_table_pagesnr_mappednr_slabnr_slab_reclaimablenr_slab_unreclaimablepgpginpgpgoutpswpinpswpoutpgalloc_highpgalloc_normalpgalloc_dmapgfreepgactivatepgdeactivatepgfaultpgmajfaultpgrefill_highpgrefill_normalpgrefill_dmapgsteal_highpgsteal_normalpgsteal_dmapgscan_kswapd_highpgscan_kswapd_normalpgscan_kswapd_dmapgscan_direct_highpgscan_direct_normalpgscan_direct_dmapginodestealslabs_scannedkswapd_stealkswapd_inodestealpageoutrunallocstallpgrotated%lld %lld %lld %lldintr %lldctxt %lldbtime %lld%I:%M %p %d-%b-%Yprocesses %lldprocs_running %lldprocs_blocked %lldproc2 proc3 proc4 proc4ops %f %f %fdev-%d-%d (%d,%d):(%ld,%ld,%ld,%ld,%ld/proc/diskstats/proc/partitionsMemTotalMemFreeMemSharedShmemBuffersSwapCachedActiveInactiveHighTotalHighFreeLowTotalLowFreeSwapTotalSwapFreeDirtyWritebackMappedSlabCommitted_ASPageTablesHugePages_TotalHugePages_FreeHugepagesizeRun Running Sleeping DiskSleepZombie Traced Paging opening disk group fileERROR: failed to open %s Hint for %s version %s Full Help Info : %s -h On-screen Stats: %s Capacity Plan : %s -x Interactive-Mode: Type "q" to exit nmon For Data-Collect-Mode---- End of Hintsnmon 16pFor Data-Collect-Mode Options -f and -F See above sort -A *nmon >stats.csv h = This help information m = Memory & Swap stats q = Quit V = Virtual Memory stats space = Refresh screen nowInteractive Start-up Control export NMON=cmdrtn mkfifo /tmp/mypipe nmon -F /tmp/mypipe & tail -f /tmp/mypipe 1) nmon version like: %s NMON/proc/net/dev/proc/%d/stat%d (%s)/proc/%d/statmfailed to read file %s%lu %lu %lu %lu %lu %lu %lu/proc/%d/ioread_bytes:write_bytes:/procopendir(/proc) failed%02d:%02d:%02d,%02d,%02d,%04dNFSCLIV2,%s:%.1f,%.1frrdtool update nfsvrv2.rrd %sNFSSVRV2,%sNFSCLIV3,%srrdtool update nfsvrv3.rrd %sNFSSVRV3,%sNFSCLIV4,%srrdtool update nfsvrv4.rrd %sNFSSVRV4,%srrdtool update net.rrd %sNET,%sNETPACKET,%srrdtool update jfsfile.rrd %sJFSFILE,%s:U,0.0%sDISKBUSY%s,%s,101.00 DISKREAD%s,%s DISKWRITE%s,%s DISKXFER%s,%s DISKBSIZE%s,%srrdtool update dgbusy.rdd %sDGBUSY,%srrdtool update dgread.rdd %sDGREAD,%srrdtool update dgwrite.rdd %sDGWRITE,%srrdtool update dgbsize.rdd %sDGSIZE,%srrdtool update dgxfer.rdd %sDGXFER,%sRunning F%7d%5.1f%4d%c%4d%c%8d%c%8d%c%4d %4d%8d %8dNMONDEBUGNMONERRORNMONBUG1NMON_STARTNMON_ENDNMON_ONE_INNMON_SNAPNMON_TIMESTAMPNMONCMD%dautochanging directory failedDirectory attempted was:%s nmon version %s /var/perf/tmp/%s_%02d.nmon%s_%02d%02d%02d_%02d%02d.nmonstdoutnmon: output filename=%s AAA,progname,%s AAA,command,%s AAA,version,%s AAA,disks_per_line,%d AAA,disks,%d, AAA,host,%s USERAAA,user,%s AAA,OS,Linux,%s,%s,%s AAA,runname,%s AAA,time,%02d:%02d.%02d AAA,date,%02d-%3s-%02d AAA,interval,%d AAA,snapshots,%d AAA,cpus,%d AAA,proc_stat_variables,%d AAA,boottime,%s MHZ,Clock Speed (MHz) %s,CPU%03dNET,Network I/O %s,%-2s-read-KB/s,%-2s-write-KB/sNETPACKET,Network Packets %s,%-2s-read/s,%-2s-write/s DISKBUSY%s,Disk %%Busy %s DISKREAD%s,Disk Read KB/s %s DISKREADS%s,Disk Rd/s %s DISKWRITES%s,Disk Wrt/s %s/sys/run//dev//var/lib/nfs/rpcTOP,%%CPU Utilisation /etc/releaselsb_release/sbin/fdisk -l 2>/dev/nullfdisk-l/usr/bin/lsblk 2>/dev/nulllsblklscpu/usr/bin/lshw 2>/dev/nulllshw/proc/diskinfo/sbin/multipathls -l /dev/mapper 2>/dev/null/dev/mapperls -l /dev/mpath 2>/dev/null/dev/mpathls -l /dev/dm-* 2>/dev/null/dev/dm-*ls -l /dev/md* 2>/dev/null/dev/md*ls -l /dev/sd* 2>/dev/null/dev/sd*/proc/1/stat/proc/modules/sbin/ifconfig 2>/dev/nullifconfig/bin/df -m 2>/dev/null/bin/df-m/bin/mount 2>/dev/null/bin/mount/etc/fstab/bin/netstat -r 2>/dev/nullnetstat -r/usr/bin/uptime 2>/dev/nullgetconf PAGESIZE[H for help]Hostname=%sRefresh=%2.0fsecs %02d:%02d.%02dFor help type H or ... nmon -? - hint nmon -h - full detailsTo stop nmon type q to QuitVerbose ModeM = MHz by thread & CPU| b = black & white modeColour:#%d#Resources Linux & ProcessorLinux: %sBuild: %sRelease : %sVersion : %s# of CPUs: %dMachine : %sNodename : %s/etc/*ease[1]: %s/etc/*ease[2]: %s/etc/*ease[3]: %s/etc/*ease[4]: %slsb_release: %sBBBR,%03d,%s,cpuchg,%d,%d CPU UtilisationCPU Steal IdleCPU Utilisation Wide ViewCPU(s)=%d< DANGERWarning OKCPU Utilisation StatsALL User%% Nice%% Sys%% Idle%% Wait%% HWirq%% SWirq%% Steal%% Guest%% GuestNice%%CPU MHz per Core and ThreadCPU MHz Core MHz cpu MHz%3d=%4.0fMHZ,%s,%.0fMemory and SwapPageSize:%ldKBTotal (MB)Free (MB)Free PercentRAM-Memory%10.1f%10.1f%%Swap-SpaceHigh-Memory%8.1f%%- not in use Low-MemoryLarge (Huge) PageFree Pages=%7ld %5.1f%% There are no Huge Pages - see /proc/meminfoHUGEPAGES,%s,%ld,%ld,%.1f Virtual MemoryPlease wait - collecting dataalloc %7lld%7lld%7lldrefill %7lld%7lld%7lldsteal %7lld%7lld%7lldscan_kswapd%7lld%7lld%7lldscan_direct%7lld%7lld%7lldKernel and Load AverageGlobal-CPU-Stats----> /proc/stat line 1%ld ticks per second100%%=1 CPUcoreThread%8lld RunQueue%8lld Blocked%10.1f Context Switch%10.1f Forks%10.1f Interrupts%8.1f%% user%8.1f%% user_nice%8.1f%% system%8.1f%% idle%8.1f%% iowait%8.1f%% irq%8.1f%% softirq%8.1f%% steal%8.1f%% guest%8.1f%% guest_nice 1 mins %5.2f 5 mins %5.2f15 mins %5.2fCPU use since boottimeUptime Days Hours MinsUptime %4ld %5ld %4ldIdle %4ld %5ld %4ldAverage Busy Uptimee=%6.2f%%Uptime has overflowed%d CPU core threadsBoot time %lld Version 2 not active Version 3 not active%12s %8.1f %8.1f%12s%7.1fNFSv2 Totals->%9.1f %9.1fNFSv3 Totals->%9.1f %9.1fNFSv4 Totals->%9.1f %9.1fNFSCLIV2,NFS Client v2NFSSVRV2,NFS Server v2NFSCLIV3,NFS Client v3NFSSVRV3,NFS Server v3NFSCLIV4,NFS Client v4NFSSVRV4,NFS Server v4Network I/OI/F NameRecv=KB/sTrans=KB/spackinpackoutinsizeoutsizePeak->RecvTrans%8sNetwork Error CountersFile Systems/proc//sys//rpc_pipe%-14s-%-8s not a real filesystem%-8s size=zero blocks!%-8s statfs failedDisk %%Busy Mapdisk 0 to 63 Disk I/O/proc/stat+disk_ioRequested %cB/sDiskName BusyReadWriteDiskName Busy Read Change to %cB/s%-8s%4.0f%%%6.1f%5.1fKB%3.0f%% %9.1f%cB%-8s %3.0f%%| disk busy not available DISKREADS%s,%s DISKWRITES%s,%sDisk Group I/ORead-KB/s%-9.1fDGREADS,%sDGREADMERGE,%sDGREADSERV,%sDGWRITES,%sDGWRITEMERGE,%sDGWRITESERV,%sDGINFLIGHT,%sDGBACKLOG,%sTop Processes%7d %7d %6s%4ld %4ld%9s0x%08lx%1s%-32s%7lu%-120s, errno=%d 101112131415writeopenopen_confopen_noatopen_dgrdclosesetattrfsinforenewsetclntidconfirmlocklocktlockuaccessgetattrlookuplookup_rootremoverenamesymlinkcreatepathconfstatfsreadlinkreaddirserver_capsdelegreturngetaclsetaclfs_locationsrel_lkownersecinfoexchange_idcreate_sesdestroy_sessequenceget_lease_treclaim_complayoutgetgetdevinfolayoutcommitlayoutreturngetdevliststat49stat50stat51stat52start53stat54stat55stat56stat57stat58start59stat60op0-unusedop1-unusedop2-futuredelegpurgegetfhnverifyopenattrputfhputpubfhputrootfhrestorefhsavefhsetcltidsetcltidconfrellockownerbc_ctlblind_connfree_statidgetdirdelagsecunfononamset_ssvtest_stateidwant_delegdestory_clidstat61stat62stat63stat64stat65stat66stat67stat68stat69stat70stat71stat72mkdirmknodrmdirreaddirplusfsstatwrcachenot foundJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC CPU +---Long-Term-------------------------------------------------------------+ +-------------------------------------------------------------------------+BBBG,%03d,User Defined Disk Groups Name,Disks DGREAD,Disk Group Read KB/s %sDGWRITE,Disk Group Write KB/s %sDGSIZE,Disk Group Block Size KB %sDGXFER,Disk Group Transfers/s %sDGREADMERGE,Disk Group merged read/s %sDGREADSERV,Disk Group read service time (SUM ms) %sDGWRITES,Disk Group write/s %sDGWRITEMERGE,Disk Group merged write/s %sDGWRITESERV,Disk Group write service time (SUM ms) %sDGINFLIGHT,Disk Group in flight IO %sDGBACKLOG,Disk Group Backlog time (ms) %sERROR nmon: ignoring %s - too long UARG,+Time,PID,ProgName,FullCommand CPU_ALL,%s,%.1lf,%.1lf,%.1lf,%.1f,%.1lf,,%d CPU%03d,%s,%.1lf,%.1lf,%.1lf,%.1lf,%.1f /usr/bin/lsb_release -idrc 2>/dev/nullBBBP,%03d,%s failed to run %s %s has an unexpected format: >%s< This nmon supports only %d CPU threads (Logical CPUs) and the machine appears to have %d. nmon stopping as its unsafe to continue. %lld %lld %lld %lld %lld %lld %lld %lld%lld %lld %lld %lld %lld %lld %lld %lld %lld %lld%d %d %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %ludisk sscanf wanted 14 but returned=%d line=%s %d %d %lu %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %luERROR nmon:ignoring odd line in diskgroup file "%s" ERROR nmon:diskgroup file - failed to find disk=%s for group=%s disks known=%d Data Collection: %s -f [-s ] [-c ] [-t|-T] Read the Welcome screen & at any time type: "h" for more help -f Must be the first option on the line (switches off interactive mode) Saves data to a CSV Spreadsheet format .nmon file in then local directory Note: -f sets a defaults -s300 -c288 which you can then modify Further Data Collection Options: -s time between data snapshots -c of snapshots before exiting -t Includes Top Processes stats (-T also collects command arguments) -x Capacity Planning=15 min snapshots for 1 day. (nmon -ft -s 900 -c 96)---- Full Help Information for %s For Interactive and Data Collection Mode: User Defined Disk Groups (DG) - This works in both modes It is a work around Linux issues, where disks & partitions are mixed up in /proc files & drive driver developers use bizarre device names, making it trick to separate them. -g Use this file to define the groups - On each line: group-name (space separated list) - Example line: database sdb sdc sdd sde - Up to 64 disk groups, 512 disks per line - Disks names can appear more than one group -g auto - Will generate a file called "auto" with just disks from "lsblk|grep disk" output For Interactive use define the groups then type: g or G For Data Capture defining the groups switches on data collectionData-Collect-Mode = spreadsheet format (i.e. comma separated values) Note: Use only one of f, F, R, x, X or z to switch on Data Collection mode Note: Make it the first argument then use other options to modify the defaults Note: Don't collect data that you don't want - it just makes the files too large Note: Too many snapshots = too much data and crashes Analyser and other tools Note: 500 to 800 snapshots make a good graph on a normal size screen Recommended normal minimal options: snapshots every 2 minutes all day: Simple capture: nmon -f -s 120 -c 720 With Top Procs: nmon -fT -s 120 -c 720 Set the directory: nmon -fT -s 120 -c 720 -m /home/nag/nmon Capture a busy hour: nmon -fT -s 5 -c 720 -m /home/nag/nmon -f spreadsheet output format [note: default -s300 -c288] output file is _YYYYMMDD_HHMM.nmon -F same as -f but user supplied filename Not recommended as the default file name is perfect The other options in alphabetical order: -a Include Accelerator GPU stats -b Online only: for black and white mode (switch off colour) -B Online only: for no boxes mode (switch off boxes) -c The number of snapshots before nmon stops -d To set the maximum number of disks [default 256] Ignores disks if the systems has 100's of disk or the config is odd! -D Use with -g to add the Disk Wait/Service Time & in-flight stats -g User Defined Disk Groups (see above) - Data Capture: Generates BBBG & DG lines -g auto See above but makes the file "auto" for you of just the disks like sda etc. -h This help output -I Set the ignore process & disks busy threshold (default 0.1%%) Don't save or show proc/disk using less than this percent -J Switch-off Journel Filesystem stats collection (can causes issues with automound NFS) -l Disks per line in data capture to avoid spreadsheet width issues. Default 150. EMC=64. -m nmon changes to this directory before saving to file Useful when starting nmon via cron -M Adds MHz stats for each CPU thread. Some POWER8 model CPU cores can be different frequencies -N Include NFS Network File System for V2, V3 and V4 -p nmon outputs the PID when it starts. Useful in scripts to capture the PID for a later safe stop. -r Use in a benchmark to record the run details for later analysis [default hostname] -R Old rrdtool format used by some - may be removed in the future. If you use this email Nigel -s Time between snap shots - with "-c count" decides duration of the data capture -t Include Top Processes in the output -T As -t plus it saves command line arguments in UARG section -U Include the Linux 10 CPU utilisation stats (CPUUTIL lines in the file) -V Print nmon version & exit immediately -^ Online only: Disk stats KB/s changed to MB/s. A 2nd ^ defaults to GB/s To manually load nmon files into a spreadsheet: Transfer the stats.csv file to your PC Start spreadsheet & then Open with type=comma-separated-value ASCII file This puts every datum in a different cell Now select the data of one type (same 1st column) and graph it The nmon Analyser & other tools do not need the file sorted.Capacity Planning mode - use cron to run each day -x Sensible spreadsheet output for one day Every 15 mins for 1 day ( i.e. -ft -s 900 -c 96) -X Sensible spreadsheet output for busy hour Every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120) -z Like -x but the output saved in /var/perf/tmp assuming root userInteractive Mode Keys in Alphabetical Order Start nmon then type the letters below to switch on & off particular stats The stats are always in the same order on-screen To see more stats: make the font smaller or use two windows Key --- Toggles on off to control what is displayed --- b = Black and white mode (or use -b command line option) B = Switch on/off on-screen boxes (or use -B command line option) c = CPU Utilisation stats with bar graphs (CPU core threads) C = CPU Utilisation as above but concise wide view (up to 192 CPUs) d = Disk I/O Busy%% & Graphs of Read and Write KB/s D = Disk I/O Numbers including Transfers, Average Block Size & Peaks (type: 0 to reset) g = User Defined Disk Groups (assumes -g when starting nmon) G = Change Disk stats (d) to just disks (assumes -g auto when starting nmon) j = File Systems including Journal File Systems J = Reduces "j" output by removing unreal File Systems k = Kernel stats Run Queue, context-switch, fork, Load Average & Uptime l = Long term Total CPU (over 75 snapshots) via bar graphs L = Large and =Huge memory page stats M = MHz for machines with variable frequency 1st=Threads 2nd=Cores 3=Graphs n = Network stats & errors (if no errors it disappears) N = NFS - Network File System 1st NFS V2 & V3, 2nd=NFS4-Client & 3rd=NFS4-Server o = Disk I/O Map (one character per disk pixels showing how busy it is) Particularly good if you have 100's of disks r = Resources: Machine type, name, cache details & OS version & Distro + LPAR t = Top Processes: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only u = Top Process with command line details U = CPU utilisation stats - all 10 Linux stats: user, user_nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice v = Experimental Verbose mode - tries to make recommendations Key --- Other Interactive Controls --- + = Double the screen refresh time - = Halves the screen refresh time 0 = Reset peak counts to zero (peak highlight with ">") 1 = Top Processes mode 1 Nice, Priority, Status 3 = Top Processes mode 3 CPU, Memory, Faults 4 = Top Processes mode 4 as 3 but order by memory 5 = Top Processes mode 5 as 3 but order by I/O (if root user) 6 = Highlights 60%% row on Long Term CPU view 7 = Highlights 70%% row on Long Term CPU view 8 = Highlights 80%% row on Long Term CPU view 9 = Highlights 90%% row on Long Term CPU view . = Minimum mode i.e. only busy disks and processes shown ^ = Disk stats KB/s changed to MB/s. A 2nd ^ to GB/s then back to KB/s If you find you always type the same toggles every time you start then place them in the NMON shell variable. For example:Other items for Interactive and Data Collection mode: a) To limit the processes nmon lists (online and to a file) either set NMONCMD0 to NMONCMD63 to the program names or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncdOther items for Data Collection mode: b) To you want to stop nmon use: kill -USR2 c) Use -p and nmon outputs the background process pid d) If you want to pipe nmon output to other commands use a FIFO: e) If nmon fails please report it with: 2) the output of: cd /proc; cat cpuinfo meminfo partitions stat vmstat 3) some clue of what you were doing 4) I may ask you to run the debug version or collect data files f) If box & line characters are letters then check: terminal emulator & $TERM g) External Data Collectors - nmon will execute a command or script at each snapshot time They must output to a different file which is merge afterwards with the nmon output Set the following shell variables: NMON_START = script to generate CVS Header test line explaining the columns Generate: TabName,DataDescription,Column_name_and_units,Column_name_and_units ... NMON_SNAP = script for each snapshots data, the parameter is the T0000 snapshot number Generate: TabName,T00NN,Data,Data,Data ... NMON_END = script to clean up or finalise the data NMON_ONE_IN = call NMON_START less often (if it is heavy in CPU terms) Once capture done: cat nmon-file data-file >merged-file ; ready for Analyser or other tools The nmon Analyser will automatically do its best to graph the data on a new Tab sheet Developer: Nigel Griffiths See http://nmon.sourceforge.net Feedback welcome - On the current release only No warranty given or implied. (C) Copyright 2009 Nigel Griffiths GPLv3%s %llu %llu %lu %lu %lu %lu %lu %lu %llu %llu %lu %lu %lu %lu %lusscanf wanted 16 returned = %d line=%s procsinfo sscanf returned = %d line=%s %c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld %lu %lu %ld %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu %lluprocsinfo2 sscanf wanted 40 returned = %d pid=%d line=%s sscanf wanted 7 returned = %d line=%s nmon fork exec failure CHLD_STARTnmon fork exec failure CHLD_ENDnmon fork exec failure CHLD_SNAPERROR,T%04d, Starting snap command "%s" failed as previous child still running - killing it now rrdtool update mem.rrd %s:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f MEM,%s,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f rrdtool update vm.rrd %s:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld:%lld VM,%s,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld,%lld rrdtool update proc.rrd %s:%.0f:%.0f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f PROC,%s,%.0f,%.0f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f rrdtool update nfscliv2.rrd %srrdtool update nfscliv3.rrd %srrdtool update nfscliv4.rrd %srrdtool update netpacket.rrd %s%srrdtool update diskbusy%s.rrd %s rrdtool update diskread%s.rrd %s rrdtool update diskwrite%s.rrd %s rrdtool update diskxfer%s.rrd %s rrdtool update diskbsize%s.rrd %s%5lu%c%5lu%c%5lu%c%5lu%c%5lu%c%5lu%c%9lu%c%9lu%c%9lu%c%9lu%c%9lu%c%9lu%cERROR nmon: invalid NMON_ONE_IN shell variable nmon: ignoring -d %d option as the minimum is %d Generating disk group file from lsblk output to file: "auto"lsblk --nodeps --output NAME,TYPE --raw | grep disk | awk 'BEGIN {printf "# This file created by: nmon -g auto\n# It is an automatically generated disk-group file which excluses disk paritions\n" } { printf "%s %s\n", $1, $1 }' >autoCreate auto file command was: %s Creating auto file returned a status of %d ?abBc:C:Dd:EfF:g:hI:Jl:m:MNpr:Rs:tTUVxXz^nmon: ignoring -D (extended disk stats) as -g filename is missingnmon: failed to open standard outputnmon: failed to open output fileAAA,max_disks,%d,set by -d option AAA,note0, Warning - use the UNIX sort command to order this file before loading into a spreadsheet AAA,note1, The First Column is simply to get the output sorted in the right order AAA,note2, The T0001-T9999 column is a snapshot number. To work out the actual time; see the ZZZ section at the end CPU%03d,CPU %d %s,User%%,Sys%%,Wait%%,Idle%%,Steal%% CPU_ALL,CPU Total %s,User%%,Sys%%,Wait%%,Idle%%,Steal%%,Busy,CPUs MEM,Memory MB %s,memtotal,hightotal,lowtotal,swaptotal,memfree,highfree,lowfree,swapfree,memshared,cached,active,bigfree,buffers,swapcached,inactive PROC,Processes %s,Runnable,Blocked,pswitch,syscall,read,write,fork,exec,sem,msg DISKWRITE%s,Disk Write KB/s %s DISKXFER%s,Disk transfers per second %s DISKBSIZE%s,Disk Block Size %sJFSFILE,JFS Filespace %%Used %sTOP,+PID,Time,%%CPU,%%Usr,%%Sys,Size,ResSet,ResText,ResData,ShdLib,MinorFault,MajorFault,Command,Threads,IOwaitTime needs root permission or file not present/bin/cat /etc/*ease 2>/dev/null/usr/bin/lsb_release -a 2>/dev/null/bin/cat /proc/cpuinfo 2>/dev/null/bin/cat /proc/meminfo 2>/dev/null/bin/cat /proc/stat 2>/dev/null/bin/cat /proc/version 2>/dev/null/bin/cat /proc/net/dev 2>/dev/null/bin/cat /proc/diskinfo 2>/dev/null/bin/cat /proc/diskstats 2>/dev/null/sbin/multipath -l 2>/dev/null/bin/cat /proc/partitions 2>/dev/null/bin/cat /proc/1/stat 2>/dev/null/bin/cat /proc/net/rpc/nfs 2>/dev/null/bin/cat /proc/net/rpc/nfsd 2>/dev/null/bin/cat /proc/modules 2>/dev/null/bin/cat /etc/fstab 2>/dev/null/usr/bin/getconf PAGESIZE 2>/dev/null-------------------------------------------------------------------------------------------------------------- _ __ _ __ ___ ___ _ __ | '_ \| '_ ` _ \ / _ \| '_ \ | | | | | | | | | (_) | | | | |_| |_|_| |_| |_|\___/|_| |_| Use these keys to toggle statistics on/off: c = CPU l = CPU Long-term - = Faster screen updates C = " WideView U = Utilisation + = Slower screen updates m = Memory V = Virtual memory j = File Systems d = Disks n = Network . = only busy disks/procs r = Resource N = NFS h = more options k = Kernel t = Top-processes q = QuitZZZZ,%s,%02d:%02d:%02d,%02d-%s-%4d Code Resource Stats Now Warn Danger HELP: Hit h to remove this Info Hit q to QuitLetters which toggle on/off statistics:h = This help | r = Resources OS & Procc = CPU Util C = wide view | l = longer term CPU averagesm = Memory & Swap L=Huge | V = Virtual Memoryn = Network | N = NFSd = Disk I/O Graphs D=Stats | o = Disks %%Busy Mapk = Kernel stats & loadavg | j = Filesystem Usage J=reducedt = TopProcess 1=Priority/Nice/State | u = TopProc with command line ReOrder by: 3=CPU 4=RAM 5=I/O | Hit u twice to updateg = User Defined Disk Groups | G = with -g switches Disk graphs [start nmon with -g ] | to disk groups onlyOther Controls: |+ = double the screen refresh time | 0 = reset peak marks (">") to zero- = half the screen refresh time | space refresh screen now. = Display only busy disks & CPU | q = Quit(C) Copyright 2009 Nigel Griffiths | See http://nmon.sourceforge.netWarning: Some statistics may not be visable due to limited number of rows!CPU%03d,CPU %d %s,User%%,Sys%%,Wait%%,Idle%% BBBR,0,Reconfig,action,old,new |0 |25 |50 |75 100|| Please wait gathering CPU statisticsrrdtool update cpu%02d.rrd %s:%.1f:%.1f:%.1f:%.1f rrdtool update cpu.rrd %s:%.1f:%.1f:%.1f:%.1f%.1f Please wait gathering CPU statistics CPU +65---+70-------+80-------+90-------+100------+110------+120-----+--0%% CPU +129--------+140------+150------+160------+170------+180------+190--0%% -> CPU %%busy %5.1f%% >80%% >90%% CPUUTIL_ALL,%s,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f CPUUTIL_ALL,CPU Util Stats %s,User%%,Nice%%,Sys%%,Idle%%,Wait%%,Irq%%,Softirq%%,Steal%%,Guest%%,Guest_nice%% CPUUTIL%03d,CPU Util Stats CPU%d %s,User%%,Nice%%,Sys%%,Idle%%,Wait%%,Irq%%,Softirq%%,Steal%%,Guest%%,Guest_nice%% CPUUTIL%03d,%s,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f lscpu.threads=%d mode=%d [1=AllCPUs 2=Cores 3=Graphs]---------1---------2---------3---------4---------5---------6 GHzLinux Kernel Internal Memory (MB) Cached=%10.1f Active=%10.1fBuffers=%10.1f Swapcached=%10.1f Inactive =%10.1fDirty =%10.1f Writeback =%10.1f Mapped =%10.1fSlab =%10.1f Commit_AS =%10.1f PageTables=%10.1fTotal Pages=%7ld 100.0%% Huge Page Size =%ld KBUsed Pages=%7ld %5.1f%% Used Pages Peak=%-8ldHUGEPAGES,Huge Page Use %s,HugeTotal,HugeFree,HugeSizeMB Virtual Memory stats not supported with this kernel/proc/vmstat only seems to appear in 2.6 onwardsnr_dirty =%9lld pgpgin =%8lldnr_writeback=%9lld pgpgout =%8lldnr_unstable =%9lld pgpswpin =%8lldnr_table_pgs=%9lld pgpswpout =%8lldnr_mapped =%9lld pgfree =%8lldnr_slab =%9lld pgactivate =%8lld pgdeactivate=%8lldslab_reclaim=%9lld pgactivate =%8lldslab_unreclm=%9lld pgdeactivate=%8lldallocstall =%9lld pgfault =%8lld kswapd_steal =%7lldpageoutrun =%9lld pgmajfault =%8lld kswapd_inodesteal=%7lldslabs_scanned=%8lld pgrotated =%8lld pginodesteal =%7lld High Normal DMAVM,Paging and Virtual Memory,nr_dirty,nr_writeback,nr_unstable,nr_page_table_pages,nr_mapped,%s,pgpgin,pgpgout,pswpin,pswpout,pgfree,pgactivate,pgdeactivate,pgfault,pgmajfault,pginodesteal,slabs_scanned,kswapd_steal,kswapd_inodesteal,pageoutrun,allocstall,pgrotated,pgalloc_high,pgalloc_normal,pgalloc_dma,pgrefill_high,pgrefill_normal,pgrefill_dma,pgsteal_high,pgsteal_normal,pgsteal_dma,pgscan_kswapd_high,pgscan_kswapd_normal,pgscan_kswapd_dma,pgscan_direct_high,pgscan_direct_normal,pgscan_direct_dma Network Filesystem (NFS) I/O Operations per second Version 2 Client ServerVersion 3 Client Server Version 4 Client (%d Stats found) Version 4 Client side not active Version 4 Server (%d Stats found) Version 4 Server side not active--NFS-Totals->---Client----Server--I/F Name iErrors iDrop iOverrun iFrame oErrors oDrop oOverrun oCarrier oColls %8s %7lu %7lu %7lu %7lu %7lu %7lu %7lu %7lu %7luFilesystem SizeMB FreeMB Use%% Type MountPoint%-20s %7.0f %7.0f %4.0f%% %-8s %sKey: @=90 #=80 X=70 8=60 O=50 0=40 o=30 +=20 -=10 .=5 _=0%% Disk No. 1 2 3 4 5 6 Please wait - collecting disk dataDisks=%-4d 0123456789012345678901234567890123456789012345678901234567890123-> Top Disk %8s %%busy %5.1f%% >40%% >60%% Warning:may contains duplicatesXfers Size Peak%% Peak=R+W InFlight | Totals Read-MB/s=%-8.1f Writes-MB/s=%-8.1f Transfers/sec=%-8.1fNo Disk Groups found use -g groupfile when starting nmonName Disks AvgBusy | TotalMB/s xfers/s BlockSizeKB%-14s %3d %5.1f%% | %6.1f %9.1f %6.1f Groups=%2d TOTALS %3d %5.1f%% %9.1f|%-9.1f %6.1f %9.1fProcs=%d-mode=%d-1=Base 3=Perf 4=Size 5=I/O u=ArgsProcs=%d-mode=%d-1=Base 3=Perf 4=Size 5=I/O[RootOnly] u=ArgsPlease wait - information being collected PID PPID Pgrp Nice Prior Status Proc-Flag CommandTOP,%07d,%s,%.2f,%.2f,%.2f,%lu,%lu,%lu,%lu,%lu,%d,%d,%s,%ld,%llu ERROR,%s, sleep interrupted, sleep(%d seconds), return value=%d100%%-+--------+---------+---------+---------+---------+---------+-----+100%% 90%%-| |-90%% 80%%-| |-80%% 70%%-| |-70%% 60%%-| |-60%% 50%%-| |-50%% 40%%-| |-40%% 30%%-| |-30%% 20%%-| |-20%% 10%%-| |-10%% CPU +1--------+10-------+20-------+30-------+40-------+50-------+60--+--0%%0\P\P\P\P\P\P\P\P\P\P\P\P\P\[@\\P\P\\P\P\ \l l l l l l l l l l l,n lno lntn lDn|q$@C@0AX@V@T@P?N@ffffi@ffffiAI@>failed to open - /proc/diskstats /proc/partition /proc/net/dev---------------------------+----k ^]k \EB?pBA;@GD\\ptDP <Dht$D4|"%D%X(d(*+8$0\d0p0D11:?$ @P Ad B F, G@ $J $K K, tNL N` DOt dO O O Q R S S tT4 dU X X Y YL Zh b Dc m$nDn0nD4qv$wwy4Tz|zRx  /D0<$DHFJ w?:*3$"l L{BPB B(A0A8G 8A0A(B BBBH H4BMD B(D0A8DP 8A0A(B BBBI `\KBBB B(A0A8DP 8A0A(B BBBD |8I0A(B BBB8 BBA A(G (A ABBG (`EDG D AAJ ((H_@TLhtFBE B(H0A8N 8A0A(B BBBG {H| D r`$BBB B(A0A8G I f 8A0A(B BBBF  H ^ A |<\BFB E(D0D8Gp 8H0F(B BBBL  8C0A(B BBBE T 8A0A(B BBBJ D?FPB A(A0G 0A(A BBBD HFBB A(A0G I  0A(A BBBA dh!AHx!3FBB A(A0G I h 0A(A BBBD 0#-FAA D0  AABA $JEd G (?L0(PHA A(S0s (C ABBH D(F ABBA,)OHBd)Hv A )FBB B(A0A8GMMDN 8A0A(B BBBH OMFFPWMFDDDN [GFP\QIABAUMFFFFPH1OFBB B(A0A8D` 8A0A(B BBBB (6ECD g XAT l73X$7LLB A(A08Y@IHKPL0T8u@O8A0G (A BBBA h,9FBA A(G'HHEEEEE E E K (A ABBE )Jr*v SU"n7 YYvl[\)VZMh.<†(|0O2[6~먴y[ݏEL$I%gC:NzĒ4/⫭ZxfYn?衠X$(T2tQG*?v*II)N?x;0}B'6rdY]r(:w1 #қ/&sk*"3Ns- ӋP^ʴS FlhzHXz̆+Nn"A;E@{O]?'ɻ _f^Cv9cM?u@X7N$%R XXD"Pĕ:iht6mq"j/ai{::ԶuM/Iҭ KimVBtE6uWnĦ&uזHhr(6fD ܶn|Q-">`IW#ŗkdssO"@yi(K996.HfKkQڞ0Pobzsp T%vL1 [43?#! t/e 90:Y]9k,(FTBd} ۊ_4rU{dy*iljD“mTIrV8ӡl1'q⩬v="YRp!PH]T8DS֍џN~X[ƧߠɩMHKٔmo/J*ԏ\dn m% q,PZs Ċ}2@AiJP.K5*jd(j壘K:UCom7} %[WM{eC B/#kl7v 0^.StՖ;ήTؕeuǬdmä j̵v`\wVq 83 P]GR.D3[=\jK9={Gի&7iS):ՈTBj$χ~E_OKáwCkxw_RgR[7)["\ C` +R21k>61m+Z.d<9/9mhL4=,ϲ]>ݱ՜@x.,w<*u3e}`FtǃA[@Au? a 2LgYZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata @@ &@ 4@$Go0@0PQ @ Y @ aop@pnoH@H}@B@h@h@P"@P"(@(A @A@| >B>DABAPP]bP]X]bX]`]b`] ]b]_b_ `b`cbc jbjPu ߽j)8o 8Xo4vG