hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ni...@apache.org
Subject svn commit: r694702 [2/4] - in /hadoop/core/trunk: docs/ src/contrib/hod/ src/contrib/hod/hodlib/Hod/ src/contrib/hod/hodlib/NodePools/ src/docs/src/documentation/content/xdocs/
Date Fri, 12 Sep 2008 14:57:53 GMT
Modified: hadoop/core/trunk/docs/hod_user_guide.pdf
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hod_user_guide.pdf?rev=694702&r1=694701&r2=694702&view=diff
==============================================================================
--- hadoop/core/trunk/docs/hod_user_guide.pdf (original)
+++ hadoop/core/trunk/docs/hod_user_guide.pdf Fri Sep 12 07:57:52 2008
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 1555 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1548 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau`U97*El']&XfYa`i\'F=oP4&7WWA3--c[F89c?!rb2I3lrZ`+7;'?h#h]nk79[f]+N7n-/V-h0\Q%]UKC[)Z(!S>gJh`#@@?^*I,k=J/hA`+_OoL$Nn`J_q:A@3e(I`82AIlDk0N@`Tk'nqa)B3e&S9*o_>,U6B?"6QI31ehp1khRPo1_2m"eNM27)fYaoQub]6nEJCIq3n@:_XGp-lFbPlt/6(W?djPfri"M$hJh@IG9]Fit)%\mqM.<nmiP4:k7m/EB5q>mkiqXl4X/po`shfj&F"P[@;kSkut.i'&n6mb7K9V6PXNUK*e?_<5t2%T85%1RlJKf\B&,-JCe_*,=+fQW/a5LQ4co89A9^'A[MbHa^%1Z_,$!qD=!+W,rOgll\2)&a,qr9mW_(lQ)obJ+.O$FZtXE.+J7OW5_k7a2LQM;UH3`**Y%P+]%sjBKe.7N4u`VMVAW/Us]=e<=BlNBOYPJ*?Qojr[G'0`G.i^Tfi3NCE5&^)buT7C"W!Hm;.anu@pR]GbSN5/X>N_BT<lE3F0Y0a.R:2mb1<U6(16OonRC>T[U[P_..08b^^)3n^/d;8;r2SCC9JkN$#B[%)[A9hmrtUu0]h(PYmqO!eQj(R'Qoc@SQ4WUnr]c2rg:?e*-r,k[Z8ORp,PZUH/M(</oO:q"O8Zlujji5^u27@.*_JFS+CqK*;*(HT0U\35mTf"c:4(<)sf\EY,='LOs$&:_[jS>L>A,[-W3`##>EV'[?T0-EQk>qM"tSHKKgW[,@'W)>mP-Dj4d55dBl%fWjt_(Gd[TDlp<1SB]1QGM5!!/R8KBZfJ``^5`lN7DH("oQGS+@(*uiDf,=YknLs8h@@K%INXNr)L%cS,*?&')g*$gok9#1'?brjl1&E:I@Y!q'<'*5ZTqMEkY]d:&_TrL_V$$Jh-iqBW/]o<m\0i$34])'0!!W$8],#<aHTP_o)2P_$hsKl@HS%hDmKMc.9,<*@]q?*AUY
 RG:dD34+D<3N1LA_c#Qu?3B*GCWNbb[*/8mL+5R,X9<GkS>.fG32?GR]aYVSp$J<+r2qE>_UF2Rh!FYY^@6ie/HNrgu!>thL#-N1D`Db\b,Zm8;5^(b?Q%'6ir-$[&iskqHK]N46(FGJq2?Z?3>?nXg4f2p<nr]5LZ?V)3d#ca=_]q]=b2W[h8bPjZN8HI<WqQUa5','_[iVZe;uum?8X601Mg:TNcW`72+3Sfhl=e2+<m_S5m;;qR&)8\t&Xrq@J+jA0B8\#u\:GXu_N`Np:95W['airh$G05%apDi4[;R-pr'C)sL%Ssjem2Jn5O1+DN/ON'dXPX/P`ij1'Wb-n1s+Fc.du6,K[l&]3J&=p"/3-k/7ABt$*+!<i?GI!(HI5%@CV8YTR4h!lga[c!?^+p+#@["61MP"]Uo\J2D8(!(ECMSgk[pUF*m!tLa/iS+8e$A=20^14eJ;bj!Z&.>mqpq*JVKM.`-MX\U#$-Z#&p;Dd!(V"R-Nl]NC4UB%t.8Q)&@]iH+gZ#]OD"X!2>*QjYN^'<3'0F-g9.9.I['bgk)?"8/%7+T~>
+Gau`Uhg:hN'Rf^__->BD0TZk(]t$_*VJDW;ERon^%iAh]h["7VB^5Qh'0hGYm+AVY`NJeDKJ1F0kh^BAi8%r5dhk.pE'7hh)gM%jFPo1NJa[jKcZb-:\M3MX*6-:banbPf6]uH'I-Y%3-s#52g_]h^RQ`#dVT4`D'mat#Z&HD>rcTV1e[1J!GLIIOObgM2%bnN@aY]pg%7pHJ"eY&>PS]JuZL%$M*8`R@kBj/A+n=A2C@C?'BXAB->RmNI$Rp=$V3:@8:[J(JO88l3G&dHeSI97hNNnC&+NP$37,Lfi=Y\Na+(QQ@c1Hk5deNgZrUm_b;=jR-f[(2^=K$;$pr)jV/@^%n+(:KQnKSK8Y*LV5nf<fb>*_m?S1-[;&dU[kKO>Y.EDOI.A8"Man\8-o@4_,H0E2N0.bM$Z_tAlOL#b2o0kuHI9a'ff&8O9/8qOni'=O2/N&HuJ9G:P8>5h>YW$b)[NBOYPJ*?QoL(>[6)#pYphcQH*`hIW#h[](;,+4p9^6'XAGu[Hd?B$gbT4-5bi;j&aW)kp*8-+89%BW9R-mW8jj?OD)f>eaZV-qbEdbV:C:,Zc\e?;&fPIg#QSEqhaQ4jhEaU.0koXe;j_N;q+n\a&&`FL-tZf$sPlED5[=TJ!dbM!e`Un2Q,Eh4('2Qt'U_Dhi&b#[Ir)e(;u30(?u]#72@N;nOXkIpB!d-9ZPm<QXU#*,Fc-k>X[<VOk7(tsOnpa_s!1mP[!dE9Z\5!K3&2$pO;":<6<C13(f,_5Ye-2D+APlgM50eG0Ql*hOPn?:XS?6Xpll0itB#*eZ.1)Sa`!:^RmR^1Vh=QiVJZ'l*"J04S$"N[`!S8/!/EfYaS`'WeIcjh/9?R8@UWGg-6dI0cGrE9CK1QX4&0"tBY1irkk:I9pKhb",Oc<%'?akmjUZ/PjlE5eH@$l/QU$@9-T!PjXJEPqXJ0I&Ykj`Q,9gi!]Bbi")T*r'd143%Q1fc%</,6cl:6Uo5
 \Y/P3qkAMu.d1a?sBhlhTk@PAe't2qS_m$?<rL9HlWKfDGMcXl57KCF]GQuo*!W1LA`d3\PkR".r!8+tP(f7a%ScS^`!6-+u_"EV6nJ(bH'!.].pib8MP^a-hr-$[&iskqHK]N46(FBq[2?Z?3>?nXg*N!NqnqiZD14P"dd#ca=_ZNI#Q,a>[P3eY>(r'eW<::&KIHI1IDEV0SW<2d]%oo&J/nS+TYI80S5*kNYe\R2%XeI0Ig"W:*4E.Kk#Ab/`r7q\qcPB)uE!&,sKdipjSQJ<A.MTfGW)-5k9<!@:!9<gjh^GR=UTj1?ReU$XH"1)17?[WP1SBs@5+uA<18d^hr`+7<jqq-[:DJh=d+W[Z0Rg;-<WCopO]SE<*(.Or>fK=]*G)_QGl+q"%rVB-))_/]B\d"O:Bk0qQR^5f%c<3"Lc@\AHfZ]4,H*C;r&/e$^PkHAT:R!s-m7GRN),6k%#Hc>K_:pX\Ir_mB^iEJ=oLb+f-B@%Yo\&3[Y)s_8`BGqcfB-k^mQp\MQH&N0"@uWW-6P3?%Od_WVAq==$uuuq<rt\~>
 endstream
 endobj
 6 0 obj
@@ -596,10 +596,10 @@
 >>
 endobj
 100 0 obj
-<< /Length 1906 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1882 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU5gMYb*&:Ml+(k##-7MR@MQc3EbhU2d.F>rkVD>&OHBUcULl0=EgJ%q4!M'Ik_XA+TUQ7t+b3AY_gke(2.I99kT\3d6erqUdR\W4;mI:*"$[/,/;$$#/Yj/^GT+'3BQ/P`]5e\;]Q.WL-tZ+0+QY5Y>a7LD]dB^)X!3fLFNjhOFt@=5@tQc@l+n_06tHHML2:/$rX3n?80ksF:@Kuf>ZZ$M=l3n?80lU'e!6>1!%qYCu0:fZ37m?Ln2m-=Uaj[E1?qp][L]NV56^TIt;Ecm"e:s32.S=9bg24qEYj_f".V+PuM*a,B5ra)_A%*p*LEJ)_#m"'uqgDm_5(\MlhND%nYVXO;@P33!Ebc?]cWm'JF!Lk7.JS`Wm5@\T[1iH8=foB]g95`CUF:bE"EkCWo$G%WKi;-Vgg33NF5V*XqXQ3FKb)@^Obkkjf8!8V6KBL;_O:%AiiJAKs=XIORKH2lfO:JWHf2Mr<CHo/q\MhXF.CEZ_FT0`/@.[49K#ImA_'bf?e8C.qC._AI7:'N+:g'9R0knN0\Nq9WJiVDRToT4i'8.?!:CZW8NV.AJ[m6X1Vj4addt2YX7`X*2#IVB&-HB7O0&k>m"R%FlOB`%t-::J@W"!.@T0+_6TqltAe`9\Q/7t:aMiaE<kN;n4(INUb0mTO/6>%.;L[$)d4Ho7:mud<%;\NGB:#2\I<E\B,iS_WbFfP4e+K`<JqDRV.hV\Yul8[ut?Eg0Q5U-_i!saTEPusl/9I+f(SK+%nWjKc=U9J.44aR1_9Knl"J(+\N[^;#">JqfZ*K5?Cgmnb\nOY7=q7aVX/#<r#GQ/:DWBl/Nq$[=i8oiQgR[%75,7eISkop57B)JN?8\$Wq5CIlsT=;`d?#K/"l>4KM#c!?pjFm1e20Xo6PZf&JSislgQ`?;9l'7)-Lh3LL+Ddp2BrXQab)+NWiO[kmD0Vp\8u^F1UQW04i;[km&nJ$?_MR",O;k9h$dXg^1ULY
 ]W<f7g%S*J&IW".M/mitSLsHN008d?ZqpPXi)'#sbm$Rm#9*$<)+`a$L&<]+\TdeHE"Y+_>L+WRDG%NlnGe+UE$d6R0eW4;ta@\c76g!V]L$-"\O'%n%$\OI(?G&@aIIL`H*YM#d"f)htHA@-1=Zr3jB*<\(0:I]!R0-HsSa^s+[*co8H1NRcRJj;Iko4_;3bgY+\rgC"YJ&'d]1#=QXFI@J,YRrO0ApMo[P^.4lnIqZDHPe'>KFG+R&_I)I3B8$_$\PP"6aRpoq'].6n>"Hf_+m^jB;2_cglW-6isFKFHL)3D0H,pm0qS\E-9tA\N0$^Z^J.<!B;iGS0*#-[K>lRS#6S)D-m*4OmR\G[tEDqH-g@#*<QPr\mo!&nDt$^F.R;B(tS]YSkA<3($amCY+1l0SXNIMC]R7KP[<9m4oOEU]DS17Pttga6QO5:bTT;HDsT6A<83aqq+]"l=^<_qlaFEh/RHc1#ZT\/gU"Ua?4AF34qB/!>s\OmDgK50C1bd)V2h36=LQVi4BMl+Vn&[KfLR)h`V'?c\pLsODG$<:@)k!K)kk?[d3sU'Wo&[9TBh'E.3Slh/.!Xs+u0V?b+@t8UVIR-"i,U&H-2"h%jTS.HYtLOJPG$$m&*.02S=:qr/ul7WS=WCGfQ"'mToAfd$orWDKo=/-(@b@lLE@#g[B=66J*"4HI4mDOO/i9Sq5RQE`der!`cgiEhe:hTgPJJrHFS.H&gGo_&R,!I([&i-@:gBH$B(%?i?BOCI.jW@k!SthUu`BqFo^"!H%hYj7`5Z.Opp?)TsgJr;4/Jq<_$-!9&(XYj8S$#R0+l,>+NJVlPpC=OG7A4*>qn`,6)DZ[5B.H,?^':@'NMN\#q2hpo/[XM8pshqT^;fQBDF)M5%eT+./Q?QZ<fD#u>:rrEsZ/PQ~>
+GatU5>EbO7'Roe[@.L[mfd.aa/tGaMEc:N3G.W0;qLCl?eJcQgZ5`i@*,IkF&B87Eaj.aCS]c4pT?*LWebb-P\!:`GiSV[UjOfLSq`arM=T/+;o/rLF3OdS?5?Dcp/^?VO_,&[@C2oS"@r]O!*V]_l7L*2n#LXQdF;TR6mD)lM-02/^/5>=PnWPJ_oTUkCSA\VMkkN*88/M+t(F%lkLm9SflM/<:=;O$E(.'g@f2j&!bH3;l@C'uL+Zo2F[:iOk\^.3KM=ls5s4ik(V0,:[&7f\dcLlhBkhipMeTRj_V+Q$,+6+?drG+QD*np.?m0%&`nRF-DnTrMuZRCOc)OH8^<T!Cd'e`1Nl;ou!<0\i=""$Gh!86#ch\0lgWS_6kN41o.CN@9%V7jr<=dWK-;:%a'Om<N-#N$,d#dI&;M38g_X`C#ilM'DcN$Jd6#L=PG;(?PaL)/B-`jrmQ&n]Kmi,t\e\YaE>48>5)m@#m/]$q5#K)B6b_W\+bAXo!`"HSZ2bcH\qC.^9*78`2eWU_r!j.VGOjN\4PF,sQCg,%2f0XN9=D7cB?b08eU>5[GR,AhCrL#n7#Fh>e(-6U<<E=Ri+#3eng7i+MT>mCT(L1ks8CG`lAo;!jiP5<]5##`uG0#Mj7K%\pEINAc2+iIFt&04c4HXVBrn9g,@<(ZnWpI=d%<td`%n(=Lm<E0eYjiHHY;j-o`*#ba!Wt/(:i!(NuW1,d(MD?fr'CP(;7fo05]d&BV?n%o6!B[h7O/atTlU>5@ZZbj`3ZZD=IeZ^@nW9'6Kj]ej$[nM+SsB0\iANm9Tf1e8Dsf,)L"q-*M4t."E*>H!5c'V`G88?[>BAj+lS;c..+XpG29dPYqX*`YhO1jRkBgKPaG&nqQO=.q9$j0JofBKl4lAa\NWm`NnW(dl`aMs1@ZP!OW`'HU<M"*.<'A?[7CqVXDj*5\DO*lrGr[9ULe%H.qpTV/PoKJ\5hl[jZj-88CT^#BlSY]
 =OflDlCj3tpIY2;HK%)0)WaogE*9r-.b__<Mid0P?ih"'!,jr1_GV;t$hEVlbBA^YlM??Yi.Sie70e)fn[9^XhRc!$8In(oXjYtXM_8L7si\kh1Z?Zdr[J7k/7XC*P:q/m"p#8d=RjCVL;2XN?7i+MT>mJB;hdA;/@;]U1e.%ioZ^bV6:3/8OH%E;UY[1HhFAt-%>4@slZ5g$!DT;:BJErl=>Ce*.j5n87IFZ@Y`kieA(9'ngj&'1PpBnnQT,9H$NnR>4Rj"pAFB!*(]\Y&5qUF8s4O7#F^?SSR3pkEo6__uqBL?M$<+2A."Ra#Vf"]d61=#Z50;_bSN5I.%%t$5b#,9Q%9&%kZS,3fDn$J\[(bIaucD2O19(s4AM!-MSF$N<##Vfcee8CE-$B+ctNtL_*)b_&erNugjk"OE>1M<Rr`7&;Q/M'l%`sKFr?Mc;(A:Q^Q:n'QXHHjYsLoZGuqujmg1[)iMUIuHUrq+0\SLtEI>euVYDAWFq,@/IA'[S\UVh%Qhk7@T2MbC5'eJ\'UW5BID)+<7VpVo*-Bha@O_XFf*E+WXpj0W@J'Q9XK"<ZNtRu>!N["]<f^'q'G]>R(@^,Bsm9f#_E%]DYPHjt.B^sGg,R-pMiF<97tG66YaG51@-Y%5-,!ubp[jlnZA75.U3)mSRI4YX*,FJ%)Ud?S&!!5-I8[p?S$("s_Sf'+DIi)1ND1ojYE)q\$G'C4e=loi)Ch<he%olnfbRJ+V?8u+TWdr7d\$2kXDk!*]&S$9^VDj,ebBG`T*rR%d0es%,Hn@B.m:fDqcct@D93)JZl/+arbpT3\_3ZRbj"m.=DY'qRT'2Io0f7u?%c[Vogq/lIjhS/dcpPea/?X20lb"fBBA\n>L^9XX"[dXCOfdb)~>
 endstream
 endobj
 101 0 obj
@@ -611,10 +611,10 @@
 >>
 endobj
 102 0 obj
-<< /Length 1888 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1875 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU5>Ar7S'Roe[&Gi[886(crFX`%GD;$fq!i/KFm:"\#Csf[,=nHfmOafU<(<&XtP-),\!n/:<jZDA1OSLl.I@edaSKVc#I_O#ma*'#[o>GQ6ld'JunSFh$3O9L-he+$\IQnSEWVDHD=RSb87;'5B#EJR,%eU;SnKW4\N4X^=lm&4ZLHPSbgUnK;PI;Q,Bm(#T,5oGjWh]M+URk5fh49?1RGb,-3N2liUV9J[Skat$6sSX*+:H`LT!)bO_.?.78!Y*Wg'R&u0"0nHl`Z4pP,=Ss>O2T(pViF7V-9_;1J;**]%HMc>".`:5CB.?8TnhHD9]h=PnImpr_[C?@EkBf2dpL#geSKe;4nr>DRUk.p<X:4D>Vf$2;dh"<jMMb'%gP\-*tkI\H:OjP)#!q1Wq0KJFI[_Q6cd.2rIN(AF")3PUnaD',K':e;]3-<2e./jFmVG$P8-KLJMZiMNY?hR9>^e[#s4NU57C9as`1u,%caJh/UIXOG84Bnh0*`P\nsEI8Xqe&D=:0VcJ1fL8KL0&Rft1F265!-arm6Xt*=$RZf)o5&#YrK-o`^aF5T2?iX(]lnStB<-BS@MW``m9R(_lV?`bp@2;?JY=/LnBfq(6.`l-C)8KLB6NlM`1i"<c&!g'mY`YU#7Df3=N^pO0^=@L<dY1[>BEARMX:]5h*qs`I:tm4`KR:EI37mSf<$@M3Ns>7F(&Go_j't1?1arfu_IC"n@[X"^A]o/Q,bTlC8c>Uj<qs/,+56M>fQ!YcFiFn:4;*9B^!R9c,CQY=:H3;I8+&=g,Cqo66isRRSSs+Thq_)fERmDE'+VU;+XC\eJk6cB:H.0d._]>oR0;!<=lO)-VNZ!_QT8rE3e)$TbNuXY6E`st,>?RtGej/_R;4nSW@D%9JgifIg!^+@?XMd!<9DU!H!jAi*bjr"'RJ<qD5o&(^k:PPf$aY<`#L1`e"N?r?%Q!H#toZ/Q,'),Ll<>X"LXrfp"2444O1?
 `'q'C]&[Rl.rRZ@%b+^Kb9t,Y(Y':pR9S14<e`+\>d.a"*".mL/2Zj^kH/Ou[X;J5gN:i];BP2k&AQ_Id@/LpnY)GEs:m$.?8X<c0g.&9MX2KiiAY+nSE0I:eEP+a)]m6Z^#`:nIs43_LiRBEUn@[8$^Pu^JG@h;UU?FA7lE4Cm76_-1.(l8k!B8,sBP>]=-@E]^fngO+>rnX;-j',FA=B?&ps+[4<kOao!U\+r+bR`6[h!2h#De*KR</(bYl0*K12-&Ga\q(uC_l:ap+CX!9%Hu`*Cmc+W#po,5pd'V9a>436sY=Z\``lnY;W;?`IT4XfAYc./lu&H;&W,PB#24@Fg5H"A<jqCQAc?h^?oYJY!nf11UC+U1NP+OVjRL>#d5rrc^fu0M7Q6+G42B,.M&6WIi5bSf7TFn*Q(NVp(F2.5\VA-kG/O+MWU>X3:eWC1edOgm'12kEsEpYF$ib?6ZoE$ZNG+ofV.FHdnja6a?ZGn[/3)7m3V&U4&2P(:d!RTN^(`9&UPL2LK[08RTM.]Boa)s&[dIr$S41\(,T(hMUI.'4T2dLV/f(Wk=c8[E@+iO$pFZuQdCk6&=$Lm+!2RGa+Am@6SQ<<;%:GQlqgc'rHL99]Dcb6VF=`<HriB53Mpkpj,C%E\1Yh^:CtM_SpkHg<+2'HlD^JZS)$s8ADn4Kgsq'9%goEVJPGc<cMBP[>!?tDKYq+ho'OfuY]]JtC!0:g.g[H8qGB)ba=k8,8ZZ2ES(kPOlhL,nm.aWp8&)F]DKTck@Ls=KeMm??DbU'UaXacm^jpS+ki<Ba?E+U6G3Ddr1gl!!Cid5?4BZSfj*niZW>0TH5cs0&c6%5W'!B"@<On1KK?Oe.Z<4i]W'L^ulj)@>kDSXCb?ka3Pm$P?BYY9\~>
+GatU5gQ(#H&:O:S(jY?MfI.pil4Od7Ep;_<"Ij;!p7^4G=e]akP3CG-h>D[MgD#FoaHpERCPW0TjIA4dF/XLES,>I>4A<h<WW(aL@b5Ut5nKtjT68K+Qle:2RoXntTDUEhp%.dCRa9J2n`+LNV$*4T3g$Ile>g=lUAi[/"Ze`&eND`eS]PanV;C&i5+d-;0%_48cQ>60p6POk]/s8<eDH21mp1m6Iu25&jT-DT3U6.R%^:j73Yg]<2e5NAZHj:"GO)c>I`^)trQZ)=3?Fa:MWs#"b^$2g#U;5$lBA0)Ue+WM1Z(@dWYVls?O6?&cZJm>d&&j_)t%OV9/7sJB$$Q%)pX"oB#Sa7T(6lNYYWC;Nb<4Oc*F.hi4qJHru,4/8WF`9$=/(c2`G(`I$P`ER*8T=e![9Y>(,2h2fXnZ?LRcR'8Mm)LUp'GIL-lEM7/(i92\n,>Q9ekYrM*Th2"0PLFZokQr,KMnbg!:f.4B4J=4H-jnrXS=iC/=R!>;)&E8em>4DBUo-tf$?qnDNH7b%tc5WA256^4O-uqFT/G/h4hNf9h.HEoMQNGT1*`,ZD.T%gVUfJbX2[`<nX=V;Rg,q%-,NSV>"QJ8))`(SA,&\to!>mUq<:IIoQ=KR5pq0n(c7%hEN*9;'T(BfMg5'>uK#ii4+G&Y6N1Hn=1L=(e!\E/Q!\2Il6\Be6moEokM+O!61n!EIq+G3&"-@!<0&3[HZ:gDi=fE=<.c*$X%m[682<W#7f.$gU4<$Y1+j*J]"u*O2(dY!7nD,:P#AMW;r(,3,@*\odN]Xt*^3+^Qm1l'HYRK)FD72T:TCWbrOj",ZbJHc;.\&TpZ)n(k#BpIM*tA'[M$^-p"dYE6cXAP5N3KCILcTj9XFQLb)S.1'FedKMT6[Gr]-h^\.G8_a*/Vgi]h%W@40?-?T>*OKSrT=1j0XG12/5jt&46QIA>e?F:WE@CKANF)qI_!=rBj,?ar%2RL_dZ0V3B?r-bX,
 YU3\G1]E*$O>/>YJk`N8YOSUSsk?[2"`P9A"HRCZHH3Gj-d/f`m?btUl!D92c9%%W&,/I>i:)=jdoQnm:9Lm6U#LPC[VRSQk*;#M1>KlN-JlSOroj*dkE$uUaikYgkOKgP-n`67b.]Z\uGXM%d0[l]pg52X].JRiT$/kbkVa3"(8p'`N8epuX[J^leqSeX1H.6Z@KpcMJLTqL![C$3@9:Ii]8)q&`kSi?r2^I:^6jc=_OaMp9,ni2%AU1A.@p;gJnK+MCpf(].8jN"JHmfArA6'>UC+S<9jUU%]2&&dV[VOPRf][+Q&;Bil'QCuCNS0]?&Vmj<j7.`6b==IK%"X07_LrU3hs#sEd-t6%#<ZYP.1DdKgg9-N`/-qc6fs7j$GIB<l/@W7ijj(;^MQk\fUL$(+dQu11kTuPpc_sqa)$&V\ET_G(TK)Q[X=>1RpBl+,"n]Y<tII(Y"*>G;&Vtegb:IqY1GcN$NWnf33IWra0R>0<b^7oAuh;Zh#+-eR/a&k0:Ia\MW2pUD:03fp=:KIH'$83j2aZZ7#&u$hXJ\.,SpHWOg(IA1*e\50<N5s[:O&\@UESg4U]RV&f@&^6(O(eWF=)4]Kk`"&:.V#.nuB?cVW?m!H\R'3r0J%^E5<q?0RA6c7"t.1pRniN5D#cB/+Oh*.edbpmu?,?@hI#*8c41eD7Oc1aJY[BKSiad##Yj:9SP.C\WW#=tJm@^=N2IV>fIk.l'c(n*`e^>;toUmd?\RY!^mYHe3m+18PB/q7:oO'^h%W=goTg)i9XhdbR;YT7PV'KJ=hafMo7,6A[<BlgL*@Y!@QNVi6uTFkt,tXEU-ef1?=i?f[s7,k0B3,MP!&QX8.&J2#^F%;Mr,]tA[H2D>Tss-D['o`~>
 endstream
 endobj
 103 0 obj
@@ -626,10 +626,10 @@
 >>
 endobj
 104 0 obj
-<< /Length 1971 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2013 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm=9lo&I&A@C2n<hEf$pbLOF_p%uDC1RCYrXnP4[:8@Tcj`-+-ulo$[uPN!L=Q])/B?fGh@Fh=R8BC[]<cEX++3lg5E]VX,UUN<Y,Dne&UkM2>2G;>:$\#X5@"I?JHQZmT=i\J(&T8E+"H6r>dt?`'6!AC]kB#U3EX)*Gn2/cO!gs[\JVQ!F=U?obJ&$bSg;Ill!KZrPe2r%sca``V+Y:)=j,=ln)T&o-)G+]\!7tR%d5hr:Un/W7C`&>reJ9NqeYdDpp1#^n0r(ei(#:I$O9n[C(1q89B<Go9.63/&]W$e;P4;C[5nSqf.YV]=&CH35-sLr`2.CN$\$\:!+Ku1ARS(d[6kiJj-(7M\#Yu4Q6*D0!"&hK%I;J,k2DNLO_*49,cF8PJMJh80<f2_"dZ":k3&Ik=rd%;?LZ/X?O]@.J,DUd6od=XD(fC%\=e`Og9C66DO!eDX[8li_;CprV\th5\:Z3@g%<u^r?8nG@3j3_&"]r1IZQJ4!cFnTI>%)2eDXd4=J#"QiO`R^1Vb(E9L*QZ_HTtXogpNn>\BdhS(L2:A+C5'R3B2<l'l.#)p4lE[)Ne[lR26`LbPY&n6J#!:U<N2>`e73^@&pqH3;o7WT]img#/0#u^K<MJGI_WTjN6ZrY_.2]4<=A/3^+,,sUc4tq9aLr,6O=`P'JHBp%GGhiL_PdVcd;YZcGW]!TQV,L7$6&j:1hahn9XNsIc?j/Bsk@Anbp4lf^)G*4:a90pG!>H%p![cR-/h/C+*;)+@;UPnBs7"jKRGYIMU#64\.o),#1mf7R4f9UPT@nkq5*N/VfTg;=etHS&mZJW:=dq=B1>>sA))S-"M7t@V^-09,iQ/'Wm9%AC&8ui?VHY(>/(K)?&7VW([?KpW"%H2MI1ui?TJ:.1i3s>b`'I8,U7hcr7g`E+V'YV:#uDLR$@$(eNH21g?2$>rSIh7]!a*^`1?M;3ZQfl]Ousb&,iu*q-'BaiSJ8CnRa<9
 2P)aZ*Ca_a.*4\XQ,!BY=?5TQTl31)4j2'QJ7M)t<A=&;9qjad@YeGOi<We@([=mZXp09\Jg6q'T+nDb!Fl-hN_n^;2bmj3>k[f.KF7Qj/^TN>d1_L>j^M-T&U#0%F-[3BcR_fdn*nQ[u[Q6`9]XPB<P_+qJ^0('Q7KNP-7:p+9:02>$Djn#j'Alm?FQe*5TnXsl:j+\U-bV/^C\NY1$7%QtRN[k8Da5j1**8C7'qs-F8d`?,SFa%.@9kgm1Yjahh4^]bm>G!,e_N;k`nhV<7KP[N>]Jb`C5[15BF;6W>[1A$rNpq.6Lt%)l#?S]+8Vd<T9!a0fHm%n//hkb!a\Ff[1`&U1j%&aQB>r,;Ko))nkWP1_N&+2l:bJ8V25J\8GBcBKk(Z\Xr)eU5r#@;3@ZGYX:b0\f(3n?)'X3C!P)n-LN"r?5IY^:n)%8(FMAY0!e1R$a>$2>AUIb<NA'qN>KWUg*@4'l!1^^J)YGdU-qVY!?l;ZT2rG)"`_1$Z;E<UEFPuQ2S?`fZfm?Zh[3.3Ig8oqlO*aqBqVuRFQC"r3!6l.Q>_a+K"D.aj9ZQhR'Qn/V)[[Wf7//Ki\GrneBEOEnRFb&-4UIc`5lC]ORGf@0'rT<tV<6'ApLHlBT7fG>((tJ9M(+VKXC.;Q2etrDr%@o7o:c>H0Y"-@.8=KM?NLp6iH[Y3D5]f2Uui@87"2A2B*CmZG@rt3&=/4M/.20u4?:.uR@;WEl\0_c\>kBq;3%Q6Ef2s"b.s>oF`fKScu`Ug3drmVFZQfQgP6#LpWH<f4BkM-cYtgBZ=8&lDo0;t?@=8ejpfR*rl.HXN"R!MHtZV;X5`jOcUb"\T).?,*&X=q8&*>75sl=rp3ds"%EGHp7[&tAQ"K5i:q%U,m>XY36jb(]jD[0Lj&=Xg8<%Haj^KK>Y2_pU[=q$KEYQJQB]&Eg4qUoNh"%=5`k27b(qdcTjp#6`<1L=CO?*rsr<G4t9ec~>
+Gatm=h34<d&:aF]_.,7L,7'B^a5iCVd`G0dT0%=3q]LNqeGsXc39U;</iK@;(:NHRR5bsQqsi-R=0)#+p#<l8naD'3>PRr4&NR:0/XK-*oP+4$Nr$IaXccnX`UA_/0:kpI3e^Ah8*tDjGjsU(\mpL*r..:L$cm%*C7H;60[HSkS_[I;kbZt82f&9;P]$2Z.D;@V5M+<S'c0$(BtH;;)1RCEhX!s"?ZFKFRE!^Dcs58U2\3hN/[O'n_E#3o^gCPr;9SPWok_s^f"(J:X'36GmbAq<\Zb9==+d'Fl@S-]8[[`d8-Mf=,>l+^rjLCmNYV>lm0&s]/<lKt/CcH;<Q2E14Y)W`D9;NePdUs\]&#P;K6&9N*^J48p0kB*\f+V2ZPC1nfP[W>\Z!@=69EUqgoioF5Ms6SE_-Yc+Rla</S5@NU_Lf!$mG^EF<G19>M3cEMPhH134XeZO)#ns_*3&M2^]RNnO:I!52+LZq:$A:5PP<2>k0l^CsUR`DKmK=7P?2am\u@aglNi&7"^gdCV@!tE^Df0lm&Gm(JcRqLfH;_2_<-)de^0]n]n3_n:s^MQ!.&+=q10VrXQ;)!b5B!YSZ!aK^h\MO;&R^cO*Bc/G$M'"DeX$jriq0NZbY4WZmW+W-MMG#1$ClOc"!S@\Z0$Is@Kff2m(n[c<1j<>-Te5_'d2c2CX[d#O?@(GF%%>SRAj'3TrZ+lg']X'a5+!kjR2Z3p_I,$.X9BI\mtl#6uNPq#N!*C]If(G19[)0>lVl[+lbH>a6JrCE(LEXkh=VV-u71'n@(XnS[IA3<@=r3d7V;NQbX=ur#b)CSX16DsOWg;t[/B!\S%Asl<2j,uV5IR"O^OAaj(Z]h97JN#$NMV8sLg(]p\Wh*1@WDddVTTe'IpCt50f&nU@M#nWD_IRmE[_(6Ee5_1YYp[b(L*5o-"=`!1/o!K&m*-G>?p<HIOddtjhmDoMaFp</B7!ZSR-Z4bVkqUU/kP=K6W#9
 ^U\*U0^mVkel_sm6[%4%_N^Mrnk_4o\lQ&/-p9L^:7V&5_q,XA*]JU!)'\ff'!k):e412gM_+Rc#*4%&f!KUA^+htFl":#*0#7[;elRP;;WO,(-CC)J#9nA?6i2DlPg3K86G/AJV$Y6Y5gR'p&/bV/8.I^#O>t&BX/$W'3G#jQ21uWdf,ZFB*7hhql]ptf7PU?o!'4WMsHB'1kIrM_mTr4]PJo.fBrTX/t'Oe+->)SRa2f`+fF,P@I*=h,REpS>Of"lYph'T^ejjk=fi^Sgt.R2WIqf-iVHIi<t%m7Ra$qccnF(i+XMLqI%q>(Z,;5=M"V6A!u5_[G)E#)\/MBS5%V'`#hMG:g\U5]bK'iY@(?6QY7CeuaS33F_M1ICDHi7m=`kFD96k&hEY%1_"Sk/"LTX$)%RB:fSm9f<j:@s<M7,kj\79dlMj&?`ff;odks]&q7ic+a\of,m@g0#c(8W1eo#"0QE6M\cCZkCIt)EP+*i4GmBSm$8?-4@MsJV^WQ^a0CuBVW6d[PQIMlF2h:U$Z-AU6aT9:X8%B*J3^Z'6MjrYEuIGF)B^Zsjq5YE*\96G5FU$F^7#>c7b6a1i`sP-[j,lEr*JNU2\S7P2DD^IJC(gP)Z@TF3(kmBrp9\k$b2OK9P<@1,?qg%]&;_p(p!hW`HbD*4+K!-g7j1g:NI.#LXZ1&lk]8IBTZu;ESOW(popA=A4T6kpK-DhpDFV=6c*elZIa&N=#J@GCFt5]5Yql`^8(F3U<c0[F/:\Fd*gZ2:K<:ui(n5+$%^SN`KFI?U4NKQ`dm+<i5ZZNP>F2)S[b'YKI8Z=)+*)uq>9qk<BrYcet!S)l>B.c.'TISkut:)(>A7@chfe)s6,O#[f4+`7O4b`_=mN=(]h>U[/4FYZ!BEe?,:%oGSULSID>I2W*U3q$jU-D"p[=\pAmU[*PiU1qVWmg&sD$7Q`!SKO6^.L5cBh232%7mn]&<!_kdm'+(\Ut(bV3uA5a
 b%:O-&sHc&A0Lu308iT69W0L5%j-U`.@~>
 endstream
 endobj
 105 0 obj
@@ -649,7 +649,7 @@
 107 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 394.5 356.25 532.85 346.25 ]
+/Rect [ 394.5 300.0 532.85 290.0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (hod_config_guide.html#3.4+ringmaster+options)
@@ -658,10 +658,10 @@
 >>
 endobj
 108 0 obj
-<< /Length 2132 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2055 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm>=``=U&:W67i*2b?L`m$h,Th*W3G+_eZ1?7Uq`p@<KaC0t4JJdh^>K/I7.?(KO$*QX_!Z[(rH85<eUI,UIe.E/N$n/eG2l`&AaFS%nXInjo9Nip=qhnn1EJK)CgP@^Yf)2$E@So+pl1)2M'L?Rl*\$4\sE+(P6M[sZZr:2G.gM:ct^ZpcpmE^H>sn-PAcCo`Q,(E>d_[W?\^EaSR$"o?Af:rj"=ZO[DNlGm]JF>Y(^M+G@0,M"'$MYO#C&+[3`PLJNZn*UtEVoYs0.Vh>)&\#(FC[)-bj8`JcnYaleNVbkT62J'_a0e@KcP6tS2`All-5K'lmmBi&agF#G6YMq>CZdMc=NL`1q#2D(gm#h_6i1_DYK`j-H[C&dZpoZ0?]CiU!+laY.HQ@XjK1ZjH/pn.qn:ktPfG\<,-%JSVMTIYS")G,/b9)A_3ZeubAOCp*mdL6,DT3/lR/qLZ=>0qrWk4-:6qe;+M-2jddX81S-K>73[a&C!lo<ca7M?K8BB8eOm'?g<*Vf:StC'9hKBqa'B4\nu(KbXS%-A0G,T0Cc7>SKtUX1GIP53,SZ16rUm^n1^A17`=]lHW/A?bi6"Z+N[7"f$ldGqmUN8q:abWWpp?3t[WZU:#3I*5V%%P=2cW]Wn;qT&WsGG;?B6*p;3V@*DO'D>rLZk`KG$1cu-HH2$J#5mbO;3aDp9/;)d@0jTY!_LTITLjAA824mE/9om=Mi@6p[H#`%<Fe7l==VR3_IoP2fqFC66%2iQG7R4FTFT?-8lfJ4@<:WW,'3uB,@uKi>llQC-Qi,LR?*B+SP4W*9Tf/g4T4J"U-&Eg$_#S6NREN-F4iFBU,RZ>@=TF!CRkMoU\<mNP^bhC'[sCbMj17'hn1]#NIL[:G1Mi*LZ:MHtXjC^dAP8J;A:ZC[.+$<T,>7V^#%A22,s\LGVob-'.IiKFTn4ASWL%WW8M^#>lST8#T`]Dp[F4')`Bo,Xl7;YAYZSXiFX39
 GTp<mfAOK%;&cNdC99NS1Jdmc'iHZSm:^B&Y/H!#t7CO\B&m4iP?nAC+:7\3:#9JV(Ye2+C<^hG\.6n.GGk%2UAH8<M80@So++.YQLl#.S9>)lm`.,3P.I"C>fGr\>/M@:]dY,;o0.:*kgIoL)>?^:%Z@lN5?NAICZEsgpfckC)Is<8cA0E!g8V2I$QpqDY"c*+8W6NnHgL-[)6!bHuGS!=t_:_V*A3M)[!#jCHI4N;,'Jap-9m"&>,SpLF7rK:'C&Eg;BBjVi:'#J`/M4N>:`JgJ"b^3@*MkK1,[9e,'[C3Jc3+Hi*S;QU&ta$&-T4[h6YM8![VKm<"V($Cq:_9<I$TP(#6`BWigO]`AJmb"rSU<4$/#GuXb(JW.W,@lY6CFI6a1,S!9(OcDa68d)*\/C=I)r]_^K6$_JGMdDT%(.`HYh@iBc,0O%/uP6Q1u;R@^SFD5?F5Le@ND/h4\;*"6K$=u$'"@\mf2M\-VlSC"7C85Etm.g.^u=aD'':2>@P]pJ-ZmoR5&CfZdW@(mK71DU4o-qMN`+`0HqpP?7nbDjp)ClEE9:mOjoW(s=%aZZY->4m'JaB9L6-MTa*F'/dL702W;^uCPa)ti:C</iuD>i+F[V5"f$-jQ#YqHUcjETOn__0aIP!>3cHoIp"S\pAM/:Eo!_3!r+p*Z+uV^Y'a-bY$\kN9XUJgSXfTl1)%ge*T1IF;duJ2V/h=Z(fGTBYU05@5a91<hDI'VBl?mJHI4YQ(1hsX`2m*6!g0Q+VW4Y,NRKSGKKjMI6hbC2ipJ=En4^OY=F,3]ML!Y2JZghW,L\BY"pMnoEY1SmbE_Ia$<Y.^5r+;V0^7B6nRt+lR4JZ9a:9?=PUU]__aOL@rW4-qpEI(h.H/e9G1[fN-#T!o$MjYqi;8!&?n9Xb.&l%c-r#`okbbl@nLOMD7CpD`fn"-:r<lO+kpd:"DP.$R%CXjNOquC146tb@bme4h$$1?i,-Tdri9o6KNc
 Qu$?bq^.$j^u^NsaHAL"TN>t;Ei#$n,anTY"i.GASG3%<b^$f;pj_:sGbc8OO>)D2WiU@p.)Sh:n13e0BngSUnkfp:an,NTBsbEF$`nO"30B0QJomaEot]2i65MdsO@Q#7/IilK$Cn,:4`!:N.%U@8f~>
+Gatm>99\*g%)2U?kgj8kG/T_Y+-UM"O-q>3f/[s,*jcQnk!YLT4lSH9^6E2cTL;pnSa>^',sqh)&bl?&H+fXE\s[u;+n&#%^7DD)L$pU[9DOp[qX^5>?kG(GkMG7cO4ijRjdD?Gnh6a'>!AlLpS@c,b*W.h1BVnJJ#2eg.(reW3OW\aJtQ9#/<#FDo\#=an<bB$PF+CW3IKbbRr4N*2cQ`.UVq::LC[X4eBN*t#0XrF^:ZrWWZuhrSbZoJIJJLXZDP#;N%>8.2LFo]B4UPfS)[m&AY6XBdkiT*Fd2:f<@X`IjQbl)Pe6,8^Y\*?IoV@BIaG0"m_BJXZH#Z\7ULDCmY,AV0&GF?5F@c_dcHC\+2^8AR)RF8SVVIIP3:W5$BibB$nJ>+i^L,SP2lbI8Wp1K11$=an5gW:GJ"YkO)*TA8QD!;J'ml<YUiu`*FQcR_l$>,XZ]#iJpVE'6PE&=V]g`Z+Le0j9BjHX7bD*>MbX@LYjAe>@1s'eA@Ea4CEVD[,At"g4")fMA+?E&0,V;]%qANlRm7o*LDB&VKB<@?F+`+#I`NX^2MM?72e%p@W6B:4@<(4ffEsg*\9/+f,jm99e74Q0Vs:933$:3^^'W?16dEH'X=DGO)"!,la:R$Uk@#gFFG*ZuYjBU"-4Q2]*-C1jqdU+-Z+^$R`oX"A@To%i%f9@E\!!0.dJu6LaXfC82Qr/>%XsC`'pcO<cnO12]I9rp.u:Ah7>?!4Ra=aP8sejia]_M-+&$^U^&6QN<d^':ID:[k7'=n;!ub+6G,'Q*'gHF>aG".*,#(E+_XSP23Zp8u?oNDU>S4@Q))@!cLK7:<OppSKle2u=J8\XU5X;*H,*fRr8uno^:NjD!=_W-)&[A!Z.hJ./JB01GO[I'A"75-qem-.k."JUrUJXG".DQCRafN,%6fNtG[=b7u!Jnj9Tr]WH/If4`1mrVJHHf\l[1"$1N#XfAp,f<"ClZB4biYS#0W-X2Fr^+
 pUJUY\TV3f)Q54HA`3un:!3K:bV,(^"KW3'nm(%BKUmQ64K7C2YF[ZR*][g8VUKf41976iu98h&qqP_:E1pgPpH5b1.S>8Arj-"PTF<bS6(TAfTfn2W,iFhCF*uED#o'7&nr]T7'*ZN&>;?bq'41HD,`LI-cA:U"ro!jR9LD_<`;ADj%K9,YSf-QfTF%2Vr]Mb!6Ze8<An;:K3(n9Z'>NrI;(ZD?>6nhUS59$dr%QI.Es%U3>2r(>P'MTU"=:Fsn$[%AAhZ9s\3cG`8bRIn%fHGn*Gm/pc_i3A42U)!K9$X2nZ;YgV,LV\b5^i9,!KQ&5iZ$M4J!0pUG<BDW8>3NEBa,Ee*1NMh)KkZt;HYICB6;-r#B%<s0tP/!c1(LoR<StqTUf,FjC(1($p-Rj2Q)h4U)tBM+G*?"fQ@+Fk5\if?"h2(k2U:>K\mJ8g^4=,L7DF6f[(DPnD1!(&<KaA%KJ;VkB3CN``Q!/9bG@H(bfTeD<$Wb!q6)2UaOo.nMlujTuV*sN>?-k77_hd$'*nN5XXO'`##"YNFH"MR+Pr'8M*rG:Elq>JXX#m[NB9Uci0C1/POYePg;4\PuT<U07dbojUNbtZ7=7H4"SU(+i^V<(rK4j3#_j/g!pNh.7LVuUUlH8:NXd3-X4sm^5&O;O(#jQ!FbA?E\M;#eXO@c=U17:kI.,bY"K^/NnFg#b%Rp6#&:u$bXDgM1@4Wd`AMb^l;fBkT]]_\gBonc7^@^=5u'"HFhJVLG6;Nh2BP8H=)OCCrNIti?n-$i)5$N+b#;u'QsR\SS3)P,h"`J$+?1g_cn\qN=UidtGEWf:dO=5j)EB^9NOLhChtlp7*dapkX^?(W$7VuT0e\Wj)T(f5+U[6\4.On.(@,@b]k<s8mIH9]C"D/;geP$>NOP2"bP\3QOD=_Md5V)X`7HM,r>r[c,P+tEBj]\<XFc@e^P>TidtW;/AG79TqA)m3?KWQd6Eca">>aW;\r7$MiKT
 7u*C0!6b`KEQ^;!QIg8hJ[LG4>3&)"BRL,lbbT2fU\[Z'$P8HM5bem6'fPu)p.'>4P;5O:;j.f~>
 endstream
 endobj
 109 0 obj
@@ -673,10 +673,10 @@
 >>
 endobj
 110 0 obj
-<< /Length 2406 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2370 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!Sn=``=U&:XAWi*5Q9#j-R1c*?:KD;mBL44C2+!0N@rQm*4c<n(L6(!g0CPb$OmUlED9&HWa#h/C'a"nQ2LoQ#9MjiGdanGDK!d$_&IXp]_rBD6]2=;E]8=%e6*48S(&`OuX1_d`n>IX:*hL'ca2k=9j/8r"KUX&_8.F*1]VY-^ERVb<GKBG7_:F.@q.iMff4a?h-rj`.s#L/]!*.9a)]MPPUYh8_3%Z<X3]!8\&nWfZBfHB-".BR"PKjuN8biF+A-6oQl&BU;Dp6nVOB"TPGqhtE;D!bOC6PPoNr`f`haXh3cBC5*7kU<RtTMq&_&6*cRUB4u$`TIj,02IE`WED"OIqVYN=>fOi&11([!K17P#^fPB+\H5QCA?tEbM6EUTk>EU=p$+a=*6eZ*"e'95-2_p24g=4qfARgQfpcoq0?g!ucLq@-mJ&<?bB]CVM&r8T=PkmG4@h>TkTHd)JS++Gd'Vr@GA#MJk*_LBFT5<!:/(tPjm&\I%/7t$c>:05H1V%#\pKV+OBoe&,l(S%peg,:[^(0A&um2h@GVHX(off5,/"ZS=l5RX_`@5<p)7!^2WH4oe`tXljj0?)3NgC`;<MpKGdKp:Up>YkUCR,)K';>V]/a<m`humU9.L-ANb:)E!Rq@>ATAP2fO++l'5+EYB2=?Bl-+9e.d+KkBF&EB3Yl7Z)%\`<EfnGR%!dG\AZaB$l;<A_;(R8U8;J$a0@9E;Da3e4=(bR/i'nG9,)mnhPdXEP@$,-e&o!Qg$!EY<)?*ed,KIt-Au1fg5.)Ag\V<aQHX>cJdN2rK9Q)-7q8sE)!T,uS%&Rslc.J]ZCrgYAN6BctpN^1$]Bh2:aPM<\ATC$#9nrmJJU/k[MKRRe0gdqa/P:_;Khn/>70klmNh:/Y/2C5iQNAP;BI+=[jXJMqPi0kn!\)g-Vh".R/9"jo^a)+:Z5j(llE=$"KL]cc=RS,r+u,G+'-Z-:@/h82n-5LW>Ad"^4HC\
 sPJpCZIB-sn64O,Z.roV8ith-QA^]Bm3.?&h=%$0$9I?Ic_s<,LG%PT:o,eNDMmipI;CZ.l1D-=?IXm6]4hp$=7mnVb!tgC=$RoPsO-#ti6Ad:]X`tn]C2>6fN=]Tmh%N&:&"_IX9kT&C(3GK>6/jpGIH&m^Vs7%Fp*O6dNq;WV&gXITmj&u8<6ir1bXKQ*U\a+``8+t/p^4MR1%tJ7l4_%cb9SUB';33F6St%a*RN:j3d.Li3``p))"2p@6,DkM"jF3@+!,$&=iB`2DSZ13d9AN/coBMlA]9V(Z<iGH$C:\%kRRV6YQnqXkUemY3/$"W5FrLZQ>^nsrWm`]3PVV(biC5c%tISi2Vbg*VL9T]p5=B5Olg[]Umr_)TsCJo.*;94mnVTV7Ldr2Q5cJHk4Kl"JWjq3+5LCBQ4ert^pU'ek.,HQ;]\scE`_8ViaQNEE?Tjl#'a;`fQ%[$ZmeUdnqLb-YH\="Q)7A6`EPa@+2rW;LOo<(@kA\IhcbY`S02dM]^%aR/o%:_A6`I_E0'8\b_:eB#UX3mQQj'g&sm>h_GV+&0l:@fm\(PgZ9Ft[):hWORP+2kqHa2+H"?erg[Q[7e`SILet6Im\#FlW`m?Jgk1a3`B*]6V8ZiKBfL0p#,h0l@$'t0iluIm`&*e2VMX`=>$qt7ke%S>=6T4`->n5QT.D$SK$^fcVrr7.%KD3qD'^pLO41V`U=TU$B/q?fBLj?QS<nNJEg89Y+$e)PPqZM:3jeN6ZXKjQDLkPkt;b3@d=IV]I@R#,I&c-GTiFj1\hhHdcab:f7636D('HBoFb6OPN)''gs-H5+T\b!.2*/ZWfC)P3l13<$K"p&M988jVU2I)MeG&N[%Fb;\Lct"SlN?=NA`YFj1W&rmn/E;X/9U_)VA9$IMDjF%$Jch_0:e&RA^jsa#':oe<bR*V_iOM#@+-Q+%?Y;jd58rHJcLap<o,6jh(pd<CPH/O_Dp;5AmElibXIEC_L8e
 FQ<Fn%UN5(FsLELHD]-=CY14rni>Z&hcS,i$70FfNh_i`;t!h!k2`2$R"s$fm=1)dA[T'RNeG`8\[q/Ge13#;*(1XM\,dmEB?"'(,Uqd<Ni8tJ_B.Un\'-6"T/8O`X=.G=B]eX(m:k'e]%7s2kV1/&]3Bj%u`^b3&*+m:lR44;mHfKlN>/1JBgcT&],T<[%^/),&7MQ=OTQ`d\I.c&jaSuMP4b4R4!""H.ORe/Y0o/me5Y,NFK-fjeqXQiVrLORJt['^">$5j.D<V7;&fMhO3kL;&Z6g7"q8K*3d$uG'Qp%^f@$ErhtVLd64hIludR@`f=rsW9p:`[--k1cPES'9I<<%aK5_*!3[YT'P&\gPQ[IeQgJ>4lhEN@KDVUuqKM^<ENFY#LNO:"j<J<Q&3,P^@',=d6*RgH,qMgu!^`kg9~>
+Gb!Sm=``=U&:XAWcs,k)(aaLVDiPLoBQH"-44C2+!0N@rL*BS<<n(L6jbX-OfkR$P>&12_TZ(B$D\%BEjsMhE-\%`7fa@^cScf6PB!1I:\*]F+kDj,9^^4U%T.Nfe3dGo;!fI]S!4;pY%X_2:W2P\![6]0Bra=!$T#*]g01W#?TVT$_L<_Pif&O]GFUWCE8522m8?8P#+0"@@_*Kr>PMA4E.eXI3>0"3q\DX$Sa,04(B9mm,H>u;b[)DQ`H"'bL)XsFV/$R3>N^YL?2W)`-4+4e)S"6%?&%&5Y=3m#iR2R@arPZI,/:X\>q3i\k9E\h@c=Xi;k&:*jfHr>c>*QFR'R;)c)jWnGXuZJAihYOXET><B<@cgEY618_`28Ng2R,ia^'aJ\="KMTX2])=,#b7\[CZ%hA!&#\=fD^qW+VtK58@VJZYWd_nQsIH`N]hSc6G2h*>_l(dmj1rHt7c/[\kmD7jp^c`=9W/*)Y;o!!Ee6eX`lI;CDou_GVQ-b_dc1AX]PQ%#YfOg,4="BH";dZkI[7eggS3bpCasEQjcjdNW+.0(-6<=\?%o-9"%')ud4"Ufr&i,CZ]+[U62:Z0jXO&'aVq7@UVGkF8U9\f=jlJOn66)92tu^-SumCU3RuW6;JW,"Bihq-%8iC'<-8DJOp%"AeA@jROrIhr[6PQP8:uArbmaWs%=4$_4rjrY"C]2Xu@tTfMZ%oX-Xfq3X,X2aNcG42[=taK]SKh'NXMre3Wk9F'qH)O9-WHYLl#gJB]0hqbqH,I%^"FY%d#?`M5/4AY^Zq4!dK-4(3(2,V2hH-UY\a4&5G>:\r'm=9Mb>:!FVPX'i5TVVEh3gSfP7.IjG;pM+#g*d[NN*C_W0+^shVqLI*b,4SpHD)$VW<QTLA<r'@N'cHk'cFdQQje$MoaKik[a+',HtYM+GWHRY>*_F!.MJjN/4IVmP[q3X/L(7LlOq/O=@3JJ,3oEg+9rCOcjkH_[0l>4&YfK
 7AiRK+E1MhF)qG@^@=g%(`<-&jOpUY6^fdMqUe`RU!aP$UdU![!4RWE@1t1b]o6bD4m""OFW*uQAl^O#6j8%&.[1pqKPMG>Td7Q3"/<IQuMM^D#eD$'_X[bXi`b1<SfR]D5#l5F(7Bs[lAm6;XNj7U\q[&2)Abp%jMcd=u$1r!^bAid)B2qX*r7Fr`p<.DtFTp(N""N%k!0k/3Ef9Fc>M+K@eriIL.?[1f3"6i?Pb>o5I&_"nf?3)Q'T%th6hM356:?o&!aQL#5D4%"X1E%_[iLLdZMO+t/!l)<j9*%ifu`eahY[V8Wl*SD1K)A*c8$H7NP:1(Uoqi`?PAQh%n%Zq03U`D*hbi3>#O.3Cr>fTF_2#Qml6p@m=9agHn]-H:L.oKZCk\a$516SknD+_2O/K\gfn90H^aE4:a!/e^n"jH6KKb(!%ehuMX&s&$$U0Cq%pi#(1XP>hg@cCHBD_AFolbF>DS$V]0f<9,B/uT)S8aenfu/d(M8sPW&Xb`Qt^r^H^KLe(H\kVM"r&]AYU0'@u$k]=D4P4GMJVi94'<"LOTieUHOKGRjrJ!6>b$jNs\[HW^-S&G[`kOb$rNS1>rao;f+F?Lt*"),IP#<oYVP\.98m[[,O:#QIHqO-NEnrZgM3G7sf=#n51"nlB$S>>8WnPh.Z0+!f&#9[AP@sF5`Ra/?E&de`)"sc-2L47K=C0\d649Agj2A6W&Gn2]NUc(4.a"BaR"%]LOFF,@?J'@8,mU\u^SfqUck5ECg_O3ktE;P[$.Bf9,V&q#U5W^/&"[e/<%8$eIN=XDqLgh*dR/JVhhkp?hq2fT_/p+ALH2VA$=<O:JSpg\l4.B\hiEm+*7H*-\6/G^!g^&/KiQhAq2f9^V+a,+Ft.7Jst$l>33bq(J=[1^+qBb0a6`T5mU5/C]i2Mc5YE_)FU?BY-Fi.EA5*Z!56Jhc%ha*OZ8#a6[p"0(;M,+Q]uR?rS.UQEE%p%&9u1l/D&^qN/
 oB+Wooq;@-Sdfp!PHK`RT_.%6d52G*kqVcUON')Hh]iFn_1hhI!l`C1UA>!gdD/i]FPQOfWXU#5>0_(UE/%^nG`b132!1SL/?Cn54A]u<:Qg.:UIO[(eZ<,m)"Q(g0a)fAlVgqtefeDQ(<Gg`.$H'Y^8$'TPpM7,D4]/Rn:DS[KikKl\T^VG@q3Xs<$%rGHV!>!\SAlE<,aIYm'cS]@5mh9R5S9OE;gSpgO>*NpaAK`7XlYQ0I!VS?4B`FP7CI!16]m(P20X-E&2=c.qX(Y_*'WK]t[O&ZPfa`=R9?SQHlca_qFJUQC\,0.+f'(ZJXm&Y>!X/=6e<K$?E!8r`*e0?rI+K?3lBrSo,Z+rCDHZA&H;O!ghX[PVHB6IE?bg]3"8uNc9E~>
 endstream
 endobj
 111 0 obj
@@ -688,10 +688,10 @@
 >>
 endobj
 112 0 obj
-<< /Length 2172 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2277 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb"/(gQJ$q&:N/3kUfPpGEs,$>OpjuY1G+(m)3r8OJH+e7Y2I3=tV>ohl"#A*lNRC43:.<AX<VM1OV93q>eiCMjr8VIR0<)q"ngb)8oY2[LN7WX876UR20ck>@q?T?Mq0T^04e!3_O5)s/e0eUUDu:%p_*%ga!rr^=k/gHbtV,^0P'MHD`-k8G%h0cZ.@9?H>t(rUO!$rSm84bC8t46[S_Zd2&oR;8h_-^[O99,W]1BpEeJkZ!@5](,A;BEMj2uZ\TO)]qh`d=H/V$@Tg'pp79G!Gb#r^?he1b^2"7m^9p]oToMETS#cGa,-j=sBtoWnW84Z<VZ.\4Tp5G'*MXllikC@-&b]9a33>W&Dr-^m:r&cR&f6Vm-Bu?!bWZK:=U1g9`:/T97Ii-k"T*X,n/YD\HjqA+7#EM.o8=_XSp\T_%SKKli!b[fZ!Nln>HUW_="(YcO4##An<66EI\F8tn8k+l'H%nM,*HMgPH"1@E@f]6X`rcd$'(C-X#^s:E$>Jr(VHG5+Eon3%DUL;:67%FK8eo2icTU$:p6N_*`#,MH;?-%8LNBW4qu+<$!`8TTacV'YE;@5QjT!30*DUi\'_I"(iusf'tt]oQ&=q-js5ZUp6c=WT&Z^;ZdB8iCeC3M-Lc*nVlDr`Cuk+%g-/SA>NM![9T!'k%rtc#S/q[.O#+lr?!mJ$gIpAZNL,G5b2$5m?09''fk<^^gQQCbq1$G59G<9qe7G-F]:LkUfr-qt!Mu+6bsb\m(Pf*e7W*u-+!#hQp5/E/S4]=AQacFkUX,Z"7iq+g+*WNhcKO;[6^[%c0afK.5Up`+(l&"mM=9H:*XW`n`Be0aG]F->G7FlE=t%)5bcFaaEL.?6$VDSYZEDY*3HpBLX`k[u_$[<HFMo16)56=Bc-&cuN..JR/!*n&\eFnUKuj!4Lc=jciC8t1'm@279MZdG3"6_/#u%!#&k2MdWg)^u"9:33[W5a"cIoA]S.``D]<:d&rnc/
 r(Y@na=RCL$r1!E0F;?go9MW4FU6[`7Q)DGTG17`p\([.0(`_(>d>=D+pF8!CNnd0m:'\`ZCF?@BkC(ZSNHYS3AZ^0k1M0A3`c,,ihSjR-=Tg#\U)"ZRZR$=O'%LHhYk+79kn[?9eE.c$`[BRc:/F1B+ecK-l(065oq)kf&e?:tdMbhP9Gaq[V*o1?&t0CSS<XB#R[TV(7I5qI@QO";G>]*&K5uL<`Dj2@]Vmj02O[<XqVO`4TT>2$O7AHp1at9>E*n=l&h-%RqUABRT9N:G=rS=aF^UR=%g40=@jLYT5*%THDJ-EP5mdlt*U3V6Ed_:13Z5/YZb4(:Jld7aRDd6r\`W65W^rhYk&CSZ@$fi2,;'),<.(%D36lTbZnE]!b2Pr[X#%h<5eWN.`:`0$#W,s`GRdZclQ%2-`t^]P9g+Kh2R.uu1h8Or`%bG)Aku(Mr!d`J9`aHjkU.[3Ri!YDQ#5.%nt:.9K^,g06$[%,%n'iplTT/e4$QJ3IK%/`X?jA-mk!ak#<BL(Fd9q.,$q$<4j"BH3155JH?Umd6DUpB7_"[:=*?GBT5(ghq$;HT?^YH'm;em>EFU"D(rD,S&BX^]I/'MpVSY3QZ;Fdh^s?Te#uQ-"J_Or.k;2Q2(q8Hd=$?<C$8km$;EMA_e?&5be'1i%e&e'Pbm5Z]<6V@@AlVXtAuAB)VGm'XY*$n?C/`,HijeDRRt:b93SK^c"u/8!Y>(dc47cWtTL:LSi7;%>b2B;[YY."jU8D3MrsR:*-.MOBf;7QOKdh.]@U<#tb/-0<afI0rbeBf*<VHAeKW3tIq8/@W-F#V<0+t/.0_eQ=9?k"F1ll18T]AQ@"$.(.gGtse_&L5H4QPETgUdl72WD(MNU!F&g-Xf^kW26*I_op4N34RQHFd9K1M$COBNGP_G#cl"pGQ[J<Z!/NlWMnu@h-Li#-AU4BVPJlfufU5Le1$@>/UT@kYtK8[BG&VpUcFf0X]U)akKct^(d
 ,;3*uHC2k><.n>_F7j^Voq*O\8!iIGNRa1=RpGSo_8DQ)$XNu$dar*+K;\5)AL4+AcFdhkG<<arW=ndD]_TS!%/^XTQFB3S"FU^CmE\%e%%a"6(:2&/)ND#ii:m8qLcgj[f)W`_I=qZ1$<Q^d!]^&`/Tgr_A]rT!*Xc'nJcMu)c[XeAUu#8*+_H%,k(B/#&~>
+Gb"/(gN)%,&:O:Sn?'fkKb31UIEKNhPK>XqUU1PK-NfKm`0ql`?EEqj]=]dFK!Lk0G!,I0ZiDZ&Sis[n]incJXY9)pW3M!4[hjTe9Z)!YphMtao?+=3i_jCL_Ur,kEq/G]"P4n_qXf\]f:WQOZ//fSbp3sOW6n@^(i`:)=<EJdSpcbj&T8<PgfUgnWFrD[<JV`h)h/akpTT`8/CZ=>4YY0heTKGi[)AP+;J+taDn-_j7p_.,NJQ'>36\FF*8o.S4>4a;glB],hY?6nRrM8XH(:R2Tfa<>)I9'XdV'W=ATq`$/1VidJ&n>e1IQo@ho]2;N-R'8l^Wa>,0)T@8Yh`,-<(8VD3Z@WA/r?X&fL7<[o\qr7>Wt'$3aNq4siDLTpbX;WR)4%1CF;+$0u"rGF%JOhGlQh@u6^'ZZb-/-obWI1OTl=9O2qOg<5;ZNa!NL>cu5Z7S(]kbOpZK>m8'QI`UN1"-g,g9[8Z47@B""Zu=bYK+#)Cg$a9Pq<]JOOK<VPQ!hKcic]T^A!No8'LfiZoWj^KG^(<::>AJHa?66+&4>%$mJ%Hj+>Af22XrJ3fXk5BYgopg,`q!:&eRkF]pC],I[4Z(\"YDgB"gq.\^iONX*TPnC7aHGK\Bb9H@\GN7eP9[\s.FLrGKSQf(i&$KgL'K:j8L);a&(Ucc'0)k?(]l(tN_g5J4,HY`:6*`2/2+2$p2;4QW\Tqo%_pE^)\n[f'fI4$\L9N?fi=MEQCGA[k6rHms0sFUGr0//ft?F#jD;pb/.tf27,E'"h4U`De.u75@:FNcD0-,mI;)KlSg^'[uW$@[XrF&Er5m)/OO09W)uXn0\\*"PJo?b#"SSIZ4X2'pa_f[7AVJ:E@3('/+DCM.F^3^.7PS*(6d`pEJ.,l6IP40H(pd3>X2=iK"(EWQ6_M4"8%5jg*HS*#(N-O$M/>6%:5coFRq#4VM]InIEFM:dSC:OePIj6?aJ]YY[/>"AM+Q@l@QuH`:5
 ][1XoTFkA+h6(P4rZR(>8c5sn=En\8_?X"A!?ZnFoSBZu#it:/TqRl%Xo&<U`5KM[1jg44?99r*i@43kiDlu<?;kIn3`"22up":C++-ZP;b9_>iJ%#b7lMqXoKU@M(\seNO+YK4ZJ14M?Kf4Z%ZTu(NE(nuC2J:92N`h&.LJgOECA`0'c9mknqA]/@'='r<.hQb':.D=r8rG1N(3>[340M(s!?^Za+qnCtNMd+B!s41k4UB4KLmhXC#!<&E:_#aQm'_X::SbcNk&bLq-(Kreb;Z-+GPe<I&:P^ir/:OG.uXsC(&p0S23DHqN%gapO[YgK;H9;0VO[r0c*s5r,U=_W6Dp-qQrgU#C#i;]Fuh,EEU<mMZXSkrWj0jHKX&h65N-=u2pdJj1Yhsl=5QDJiBoGU`nB,[M+r\OEDY/1Y1i+F.s+-4Y[TfF*TI:A;[.d;,,XfUqQY&O&Pl&;,r@YRQr!&i&iCLV#Y)IH?6LBUHieGLs"p?EBQ6dpU(:'k'!B.%Bm3#!BSpT688lQ3Z2s/>i:8a3WZs)fM)ejC;8#B?>:cC-8_81AbL0lf_dZd_$NpJ#FYA[D4H:c$m\aV98cbVdLH7ah\XlftXpit&Gu<Q<_'=@oRDagI0&W7!U_$C9H,cLUYb/k?HH)UhTU(K&;Kn/A)$<&!dtFZk0aQ2'&`Pg5hP]GQc,4$/BNZ)W4Jl:@)FVB$'spD&h3dL@B=^EZ;5RpaN%?]MNNuOHhbZhiPTQ4.D&1$+N%7:rD)]Z"6":mJck)mIH0)FC6rBBh,AaC_O&OKn^X0rg`)bJQcT2FfIN%OF_Aso]*CB$W<[bf+oEQ)B4+RS[SQtrdOB2o$+"oLp*B<'9OXlh.Kj>jD.;ga^-:p0/pEH#4f:I0^*>FI+b!l^5&GKbG6W@tbE*-\a3-.$oC_m/i=8-"&:iQ(tlLL7SPcFlOF>6e5FCe0j1P1<A4b&ejK=[8UqW\d9\l>9X[,pj'CK'LS')9
 2LldM)qe.%3IYk+^UIVR.';KPfm@Q)"lcdnrBToG!p4trtRRQLNKld?@X.j23Sj9]rX1S?EuV:B90;@f-h=a0<h?>b!/pr[0fZ]D(@HmAJI).%_?=pZ*R]WL0a\]M%iLhnMJei,`4VkLG<C.`Dk9%0c!%NHAQ1BJtr^!=Pl]_r=UfSqV-aL]?,^A<MhGp!.J(SK8t8DlO`%rob'];F18HcY7'^&cKZi<<OKF<!$aoZ'gq?e`E?N/)ZU=`2DmGQ$")\X$56nUW[U[$E0.T\6qBA*EXWHP)AP]RKoZ3XP*~>
 endstream
 endobj
 113 0 obj
@@ -703,10 +703,10 @@
 >>
 endobj
 114 0 obj
-<< /Length 620 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 958 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat$tbAQ&g&A7<ZGcLpG$qZQoF_obYD(fa&p!a0H'iC#Y+rrfZq!Ukh9Zg*3'S[%@R[i1Omp%0qkJV`>0IY.dj2D9J&;HnSVJLYS.>&dW,tP^Rn*5Bu?XCbQ'D"SSHYC!DbQe6/pir!V0LQU#%J[UU3nZ"18D*8%EKKpEFa@D+Q_i!]8ele".KsTn>_"ntHo&_-8A()iS3t":Ku`6Km.`\*,r"K)ks'j*2u&`5B`RD?s#%Ok5+/58%XP?%e*:4W@3HX6Pobh2i_&=DD+%`Fp&5];7N<t((<U(O[=.N!2LR#+=DW'`Pj.,A>!C()AQ$+.GiD)@+Ba+`b,Vd,*e^gAPoEdEPWG9,U?e]P(AHiFpB`_W/*5O"^:sr+X.BmI6bg#VOXZeU\Va1RF-Ppd&]uQPQ'-=4#iLf9m9##DLe0`'q'%SrpEMs<_)Mc.fR6g?pdqV?Nhp)0)k4^h:h=Z]4!enUf@15(#Y&WeUX@-%2!/QlnV[Lh'_5q*mtW=PVA0CWGo/,9L7CYr\VXo,`ZYGS)Qe8HqPa.D[OTF6.ALls9Z.dVL`jVf8nQgjn6msk>l7O`rNg1.b-`9i2PgU=fBV(AWH[N5Bmb;k)77]f"!%muYQ~>
+Gat%"a_oie&A@rkFK5LC$n7<BN_,^^6%QJCHYSIh[O@WI,Uuu\qX7'ok")qN)MSY0WStL8Ho'jNC2p^d4>)Gte^(irL_7'XcdVoY2=EFH"F4#kXS(T=iqDBXYO@<:*'LWc(V'.TqF@X4PBhree68^"O6'0X@9;#5C\:OdZ%LN`5]G(sGe!LXq^XRI,n<]/YnIS/a.0Eh@p/?eb-F1c?s)-fH*:3;=GqslCAf9M1LOIY-(_9_1[SX5/J$#mWB\D&F7W`*KJB'C;?Kk:POE*>UK#_$:(R\*aMUc<e]U'Q(X^&Nk64XM,mk;jAi"s;?0-3_beQr9(aDtA.-FWn?m_!FaMB?MW_NP>48o@LE\O2]6=sF%B8eW8LWmk;k+1S'&G_YacGdjBW;<<uUSJTSRI+WGZ4mt4?H,Q!`%Jr!I"V`p/%B4^X<hUlCj76LO`7)<>\mq%"k]C=rdRB%Oq<>`(g.@RBaf/1M_f'E:&NLFjV+S63c2`M#*pW)@2B(pM99oXS12IAoYiQd;pQ)B_tn1fC;DU;gP>X-92RM_d&7I\pQX>[QPjOjcSq^D5f%]m(T#-!:\/sje<o]omdU>)ZraXi,*fhC7D9MP&=KQ-41L?V.ah@QY@j.o3RHS<c`5H*=Mca^Or0HM,h=h("S!b#du2Z'8n&i!X^O)%E#YC.FT>MUVe[aEA_H(4Q&J(QZ_tW!Y&+[q2<<4.B(VTgHp'/h$"c;2%V2HbFF;T[9GimP<e0Cr`dHbiie1U-pH2?R4V>)^6Jljcjl^Gj^(j"k_pJ.`4.cubmqN^Lp!mA@Rd3B]N*mb'XM9n]k09@l88R]=VZ;Gc"b)O$$f?h=.)uMU&_u8U:uM,5JNF<L%##b/!ig;fh-+_r^+\Pjf8A!p7&*D6&S!g<#KH&`;.n\FHirbS.^#@g!ClKWSOIDG+Q1hYT[%4\Qb_0b;=PnUA=36!F:q5$~>
 endstream
 endobj
 115 0 obj
@@ -1130,43 +1130,43 @@
 49 0 obj
 <<
 /S /GoTo
-/D [109 0 R /XYZ 85.0 155.0 null]
+/D [111 0 R /XYZ 85.0 627.5 null]
 >>
 endobj
 51 0 obj
 <<
 /S /GoTo
-/D [111 0 R /XYZ 85.0 341.9 null]
+/D [111 0 R /XYZ 85.0 280.347 null]
 >>
 endobj
 53 0 obj
 <<
 /S /GoTo
-/D [111 0 R /XYZ 85.0 216.647 null]
+/D [111 0 R /XYZ 85.0 155.094 null]
 >>
 endobj
 55 0 obj
 <<
 /S /GoTo
-/D [113 0 R /XYZ 85.0 659.0 null]
+/D [113 0 R /XYZ 85.0 598.2 null]
 >>
 endobj
 60 0 obj
 <<
 /S /GoTo
-/D [113 0 R /XYZ 85.0 533.747 null]
+/D [113 0 R /XYZ 85.0 472.947 null]
 >>
 endobj
 62 0 obj
 <<
 /S /GoTo
-/D [113 0 R /XYZ 85.0 456.094 null]
+/D [113 0 R /XYZ 85.0 395.294 null]
 >>
 endobj
 64 0 obj
 <<
 /S /GoTo
-/D [113 0 R /XYZ 85.0 266.841 null]
+/D [113 0 R /XYZ 85.0 206.041 null]
 >>
 endobj
 89 0 obj
@@ -1189,157 +1189,157 @@
 xref
 0 152
 0000000000 65535 f 
-0000066232 00000 n 
-0000066452 00000 n 
-0000066545 00000 n 
+0000066558 00000 n 
+0000066778 00000 n 
+0000066871 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000001718 00000 n 
-0000001838 00000 n 
-0000002024 00000 n 
-0000066709 00000 n 
-0000002159 00000 n 
-0000066772 00000 n 
-0000002296 00000 n 
-0000066838 00000 n 
-0000002433 00000 n 
-0000066904 00000 n 
-0000002570 00000 n 
-0000066969 00000 n 
-0000002707 00000 n 
-0000067034 00000 n 
-0000002843 00000 n 
-0000067100 00000 n 
-0000002979 00000 n 
-0000067166 00000 n 
-0000003115 00000 n 
-0000067231 00000 n 
-0000003252 00000 n 
-0000067296 00000 n 
-0000003387 00000 n 
+0000001711 00000 n 
+0000001831 00000 n 
+0000002017 00000 n 
+0000067035 00000 n 
+0000002152 00000 n 
+0000067098 00000 n 
+0000002289 00000 n 
+0000067164 00000 n 
+0000002426 00000 n 
+0000067230 00000 n 
+0000002563 00000 n 
+0000067295 00000 n 
+0000002700 00000 n 
 0000067360 00000 n 
-0000003524 00000 n 
+0000002836 00000 n 
 0000067426 00000 n 
-0000003661 00000 n 
-0000067490 00000 n 
-0000003796 00000 n 
-0000067556 00000 n 
-0000003933 00000 n 
-0000067620 00000 n 
-0000004068 00000 n 
-0000067684 00000 n 
-0000004205 00000 n 
-0000067748 00000 n 
-0000004342 00000 n 
-0000067812 00000 n 
-0000004478 00000 n 
-0000067878 00000 n 
-0000004615 00000 n 
-0000067942 00000 n 
-0000004751 00000 n 
-0000068008 00000 n 
-0000004887 00000 n 
-0000068073 00000 n 
-0000005024 00000 n 
+0000002972 00000 n 
+0000067492 00000 n 
+0000003108 00000 n 
+0000067557 00000 n 
+0000003245 00000 n 
+0000067622 00000 n 
+0000003380 00000 n 
+0000067686 00000 n 
+0000003517 00000 n 
+0000067752 00000 n 
+0000003654 00000 n 
+0000067816 00000 n 
+0000003789 00000 n 
+0000067882 00000 n 
+0000003926 00000 n 
+0000067946 00000 n 
+0000004061 00000 n 
+0000068010 00000 n 
+0000004198 00000 n 
+0000068074 00000 n 
+0000004335 00000 n 
 0000068138 00000 n 
-0000005160 00000 n 
-0000068205 00000 n 
-0000005295 00000 n 
-0000005898 00000 n 
-0000006021 00000 n 
-0000006062 00000 n 
-0000068270 00000 n 
-0000006195 00000 n 
-0000068337 00000 n 
-0000006328 00000 n 
-0000068404 00000 n 
-0000006461 00000 n 
-0000009091 00000 n 
-0000009199 00000 n 
-0000011644 00000 n 
-0000011752 00000 n 
-0000013980 00000 n 
-0000014088 00000 n 
-0000016499 00000 n 
-0000016607 00000 n 
-0000019085 00000 n 
-0000019193 00000 n 
-0000021582 00000 n 
-0000021690 00000 n 
-0000024001 00000 n 
-0000024109 00000 n 
-0000026775 00000 n 
-0000026883 00000 n 
-0000029578 00000 n 
-0000029686 00000 n 
-0000031694 00000 n 
-0000031802 00000 n 
-0000034305 00000 n 
-0000034428 00000 n 
-0000034462 00000 n 
-0000068471 00000 n 
-0000034597 00000 n 
-0000034768 00000 n 
-0000037226 00000 n 
-0000037349 00000 n 
-0000037376 00000 n 
-0000068537 00000 n 
-0000037511 00000 n 
-0000039435 00000 n 
-0000039543 00000 n 
-0000042412 00000 n 
-0000042520 00000 n 
-0000044520 00000 n 
-0000044630 00000 n 
-0000046612 00000 n 
-0000046722 00000 n 
-0000048787 00000 n 
-0000048913 00000 n 
-0000048942 00000 n 
-0000049136 00000 n 
-0000051362 00000 n 
-0000051472 00000 n 
-0000053972 00000 n 
-0000054082 00000 n 
-0000056348 00000 n 
-0000056458 00000 n 
-0000057171 00000 n 
-0000068601 00000 n 
-0000057281 00000 n 
-0000057447 00000 n 
-0000057746 00000 n 
-0000057974 00000 n 
-0000058267 00000 n 
-0000058491 00000 n 
-0000058838 00000 n 
-0000059169 00000 n 
-0000059418 00000 n 
-0000059715 00000 n 
-0000059964 00000 n 
-0000060284 00000 n 
-0000060604 00000 n 
-0000060937 00000 n 
-0000061256 00000 n 
-0000061452 00000 n 
-0000061698 00000 n 
-0000061926 00000 n 
-0000062190 00000 n 
-0000062481 00000 n 
-0000062869 00000 n 
-0000063335 00000 n 
-0000063595 00000 n 
-0000064082 00000 n 
-0000064493 00000 n 
-0000064840 00000 n 
-0000065102 00000 n 
-0000065336 00000 n 
-0000065450 00000 n 
-0000065561 00000 n 
-0000065677 00000 n 
-0000065789 00000 n 
-0000065898 00000 n 
-0000066005 00000 n 
-0000066122 00000 n 
+0000004471 00000 n 
+0000068204 00000 n 
+0000004608 00000 n 
+0000068268 00000 n 
+0000004744 00000 n 
+0000068334 00000 n 
+0000004880 00000 n 
+0000068399 00000 n 
+0000005017 00000 n 
+0000068466 00000 n 
+0000005153 00000 n 
+0000068533 00000 n 
+0000005288 00000 n 
+0000005891 00000 n 
+0000006014 00000 n 
+0000006055 00000 n 
+0000068598 00000 n 
+0000006188 00000 n 
+0000068665 00000 n 
+0000006321 00000 n 
+0000068732 00000 n 
+0000006454 00000 n 
+0000009084 00000 n 
+0000009192 00000 n 
+0000011637 00000 n 
+0000011745 00000 n 
+0000013973 00000 n 
+0000014081 00000 n 
+0000016492 00000 n 
+0000016600 00000 n 
+0000019078 00000 n 
+0000019186 00000 n 
+0000021575 00000 n 
+0000021683 00000 n 
+0000023994 00000 n 
+0000024102 00000 n 
+0000026768 00000 n 
+0000026876 00000 n 
+0000029571 00000 n 
+0000029679 00000 n 
+0000031687 00000 n 
+0000031795 00000 n 
+0000034298 00000 n 
+0000034421 00000 n 
+0000034455 00000 n 
+0000068799 00000 n 
+0000034590 00000 n 
+0000034761 00000 n 
+0000037219 00000 n 
+0000037342 00000 n 
+0000037369 00000 n 
+0000068865 00000 n 
+0000037504 00000 n 
+0000039428 00000 n 
+0000039536 00000 n 
+0000042405 00000 n 
+0000042513 00000 n 
+0000044489 00000 n 
+0000044599 00000 n 
+0000046568 00000 n 
+0000046678 00000 n 
+0000048785 00000 n 
+0000048911 00000 n 
+0000048940 00000 n 
+0000049132 00000 n 
+0000051281 00000 n 
+0000051391 00000 n 
+0000053855 00000 n 
+0000053965 00000 n 
+0000056336 00000 n 
+0000056446 00000 n 
+0000057497 00000 n 
+0000068929 00000 n 
+0000057607 00000 n 
+0000057773 00000 n 
+0000058072 00000 n 
+0000058300 00000 n 
+0000058593 00000 n 
+0000058817 00000 n 
+0000059164 00000 n 
+0000059495 00000 n 
+0000059744 00000 n 
+0000060041 00000 n 
+0000060290 00000 n 
+0000060610 00000 n 
+0000060930 00000 n 
+0000061263 00000 n 
+0000061582 00000 n 
+0000061778 00000 n 
+0000062024 00000 n 
+0000062252 00000 n 
+0000062516 00000 n 
+0000062807 00000 n 
+0000063195 00000 n 
+0000063661 00000 n 
+0000063921 00000 n 
+0000064408 00000 n 
+0000064819 00000 n 
+0000065166 00000 n 
+0000065428 00000 n 
+0000065662 00000 n 
+0000065776 00000 n 
+0000065887 00000 n 
+0000066003 00000 n 
+0000066115 00000 n 
+0000066224 00000 n 
+0000066331 00000 n 
+0000066448 00000 n 
 trailer
 <<
 /Size 152
@@ -1347,5 +1347,5 @@
 /Info 4 0 R
 >>
 startxref
-68655
+68983
 %%EOF

Modified: hadoop/core/trunk/docs/mapred_tutorial.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/mapred_tutorial.html?rev=694702&r1=694701&r2=694702&view=diff
==============================================================================
--- hadoop/core/trunk/docs/mapred_tutorial.html (original)
+++ hadoop/core/trunk/docs/mapred_tutorial.html Fri Sep 12 07:57:52 2008
@@ -247,6 +247,14 @@
 </li>
 <li>
 <a href="#Task+Execution+%26+Environment">Task Execution &amp; Environment</a>
+<ul class="minitoc">
+<li>
+<a href="#Map+Parameters">Map Parameters</a>
+</li>
+<li>
+<a href="#Shuffle%2FReduce+Parameters">Shuffle/Reduce Parameters</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Job+Submission+and+Monitoring">Job Submission and Monitoring</a>
@@ -316,7 +324,7 @@
 <a href="#Example%3A+WordCount+v2.0">Example: WordCount v2.0</a>
 <ul class="minitoc">
 <li>
-<a href="#Source+Code-N10E46">Source Code</a>
+<a href="#Source+Code-N10F30">Source Code</a>
 </li>
 <li>
 <a href="#Sample+Runs">Sample Runs</a>
@@ -1608,6 +1616,183 @@
         greater than any value specified for a maximum heap-size
         of the child jvm via <span class="codefrag">mapred.child.java.opts</span>, or a ulimit
         value in <span class="codefrag">mapred.child.ulimit</span>. </p>
+<p>The memory available to some parts of the framework is also
+        configurable. In map and reduce tasks, performance may be influenced
+        by adjusting parameters influencing the concurrency of operations and
+        the frequency with which data will hit disk. Monitoring the filesystem
+        counters for a job- particularly relative to byte counts from the map
+        and into the reduce- is invaluable to the tuning of these
+        parameters.</p>
+<a name="N108E9"></a><a name="Map+Parameters"></a>
+<h4>Map Parameters</h4>
+<p>A record emitted from a map will be serialized into a buffer and
+          metadata will be stored into accounting buffers. As described in the
+          following options, when either the serialization buffer or the
+          metadata exceed a threshold, the contents of the buffers will be
+          sorted and written to disk in the background while the map continues
+          to output records. If either buffer fills completely while the spill
+          is in progress, the map thread will block. When the map is finished,
+          any remaining records are written to disk and all on-disk segments
+          are merged into a single file. Minimizing the number of spills to
+          disk can decrease map time, but a larger buffer also decreases the
+          memory available to the mapper.</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+            
+<tr>
+<th colspan="1" rowspan="1">Name</th><th colspan="1" rowspan="1">Type</th><th colspan="1" rowspan="1">Description</th>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">io.sort.mb</td><td colspan="1" rowspan="1">int</td>
+                <td colspan="1" rowspan="1">The cumulative size of the serialization and accounting
+                buffers storing records emitted from the map, in megabytes.
+                </td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">io.sort.record.percent</td><td colspan="1" rowspan="1">float</td>
+                <td colspan="1" rowspan="1">The ratio of serialization to accounting space can be
+                adjusted. Each serialized record requires 16 bytes of
+                accounting information in addition to its serialized size to
+                effect the sort. This percentage of space allocated from
+                <span class="codefrag">io.sort.mb</span> affects the probability of a spill to
+                disk being caused by either exhaustion of the serialization
+                buffer or the accounting space. Clearly, for a map outputting
+                small records, a higher value than the default will likely
+                decrease the number of spills to disk.</td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">io.sort.spill.percent</td><td colspan="1" rowspan="1">float</td>
+                <td colspan="1" rowspan="1">This is the threshold for the accounting and serialization
+                buffers. When this percentage of either buffer has filled,
+                their contents will be spilled to disk in the background. Let
+                <span class="codefrag">io.sort.record.percent</span> be <em>r</em>,
+                <span class="codefrag">io.sort.mb</span> be <em>x</em>, and this value be
+                <em>q</em>. The maximum number of records collected before the
+                collection thread will spill is <span class="codefrag">r * x * q * 2^16</span>.
+                Note that a higher value may decrease the number of- or even
+                eliminate- merges, but will also increase the probability of
+                the map task getting blocked. The lowest average map times are
+                usually obtained by accurately estimating the size of the map
+                output and preventing multiple spills.</td>
+</tr>
+          
+</table>
+<p>Other notes</p>
+<ul>
+            
+<li>If either spill threshold is exceeded while a spill is in
+            progress, collection will continue until the spill is finished.
+            For example, if <span class="codefrag">io.sort.buffer.spill.percent</span> is set
+            to 0.33, and the remainder of the buffer is filled while the spill
+            runs, the next spill will include all the collected records, or
+            0.66 of the buffer, and will not generate additional spills. In
+            other words, the thresholds are defining triggers, not
+            blocking.</li>
+            
+<li>A record larger than the serialization buffer will first
+            trigger a spill, then be spilled to a separate file. It is
+            undefined whether or not this record will first pass through the
+            combiner.</li>
+          
+</ul>
+<a name="N10955"></a><a name="Shuffle%2FReduce+Parameters"></a>
+<h4>Shuffle/Reduce Parameters</h4>
+<p>As described previously, each reduce fetches the output assigned
+          to it by the Partitioner via HTTP into memory and periodically
+          merges these outputs to disk. If intermediate compression of map
+          outputs is turned on, each output is decompressed into memory. The
+          following options affect the frequency of these merges to disk prior
+          to the reduce and the memory allocated to map output during the
+          reduce.</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+            
+<tr>
+<th colspan="1" rowspan="1">Name</th><th colspan="1" rowspan="1">Type</th><th colspan="1" rowspan="1">Description</th>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">io.sort.factor</td><td colspan="1" rowspan="1">int</td>
+                <td colspan="1" rowspan="1">Specifies the number of segments on disk to be merged at
+                the same time. It limits the number of open files and
+                compression codecs during the merge. If the number of files
+                exceeds this limit, the merge will proceed in several passes.
+                Though this limit also applies to the map, most jobs should be
+                configured so that hitting this limit is unlikely
+                there.</td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">mapred.inmem.merge.threshold</td><td colspan="1" rowspan="1">int</td>
+                <td colspan="1" rowspan="1">The number of sorted map outputs fetched into memory
+                before being merged to disk. Like the spill thresholds in the
+                preceding note, this is not defining a unit of partition, but
+                a trigger. In practice, this is usually set very high (1000)
+                or disabled (0), since merging in-memory segments is often
+                less expensive than merging from disk (see notes following
+                this table). This threshold influences only the frequency of
+                in-memory merges during the shuffle.</td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">mapred.job.shuffle.merge.percent</td><td colspan="1" rowspan="1">float</td>
+                <td colspan="1" rowspan="1">The memory threshold for fetched map outputs before an
+                in-memory merge is started, expressed as a percentage of
+                memory allocated to storing map outputs in memory. Since map
+                outputs that can't fit in memory can be stalled, setting this
+                high may decrease parallelism between the fetch and merge.
+                Conversely, values as high as 1.0 have been effective for
+                reduces whose input can fit entirely in memory. This parameter
+                influences only the frequency of in-memory merges during the
+                shuffle.</td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">mapred.job.shuffle.input.buffer.percent</td><td colspan="1" rowspan="1">float</td>
+                <td colspan="1" rowspan="1">The percentage of memory- relative to the maximum heapsize
+                as typically specified in <span class="codefrag">mapred.child.java.opts</span>-
+                that can be allocated to storing map outputs during the
+                shuffle. Though some memory should be set aside for the
+                framework, in general it is advantageous to set this high
+                enough to store large and numerous map outputs.</td>
+</tr>
+            
+<tr>
+<td colspan="1" rowspan="1">mapred.job.reduce.input.buffer.percent</td><td colspan="1" rowspan="1">float</td>
+                <td colspan="1" rowspan="1">The percentage of memory relative to the maximum heapsize
+                in which map outputs may be retained during the reduce. When
+                the reduce begins, map outputs will be merged to disk until
+                those that remain are under the resource limit this defines.
+                By default, all map outputs are merged to disk before the
+                reduce begins to maximize the memory available to the reduce.
+                For less memory-intensive reduces, this should be increased to
+                avoid trips to disk.</td>
+</tr>
+          
+</table>
+<p>Other notes</p>
+<ul>
+            
+<li>If a map output is larger than 25 percent of the memory
+            allocated to copying map outputs, it will be written directly to
+            disk without first staging through memory.</li>
+            
+<li>When running with a combiner, the reasoning about high merge
+            thresholds and large buffers may not hold. For merges started
+            before all map outputs have been fetched, the combiner is run
+            while spilling to disk. In some cases, one can obtain better
+            reduce times by spending resources combining map outputs- making
+            disk spills small and parallelizing spilling and fetching- rather
+            than aggressively increasing buffer sizes.</li>
+            
+<li>When merging in-memory map outputs to disk to begin the
+            reduce, if an intermediate merge is necessary because there are
+            segments to spill and at least <span class="codefrag">io.sort.factor</span>
+            segments already on disk, the in-memory map outputs will be part
+            of the intermediate merge.</li>
+          
+</ul>
 <p>The task tracker has local directory,
         <span class="codefrag"> ${mapred.local.dir}/taskTracker/</span> to create localized
         cache and localized job. It can define multiple local directories 
@@ -1786,7 +1971,7 @@
         <a href="native_libraries.html#Loading+native+libraries+through+DistributedCache">
         native_libraries.html</a>
 </p>
-<a name="N10A23"></a><a name="Job+Submission+and+Monitoring"></a>
+<a name="N10B0D"></a><a name="Job+Submission+and+Monitoring"></a>
 <h3 class="h4">Job Submission and Monitoring</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/JobClient.html">
@@ -1847,7 +2032,7 @@
 <p>Normally the user creates the application, describes various facets 
         of the job via <span class="codefrag">JobConf</span>, and then uses the 
         <span class="codefrag">JobClient</span> to submit the job and monitor its progress.</p>
-<a name="N10A83"></a><a name="Job+Control"></a>
+<a name="N10B6D"></a><a name="Job+Control"></a>
 <h4>Job Control</h4>
 <p>Users may need to chain Map/Reduce jobs to accomplish complex
           tasks which cannot be done via a single Map/Reduce job. This is fairly
@@ -1883,7 +2068,7 @@
             </li>
           
 </ul>
-<a name="N10AAD"></a><a name="Job+Input"></a>
+<a name="N10B97"></a><a name="Job+Input"></a>
 <h3 class="h4">Job Input</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/InputFormat.html">
@@ -1931,7 +2116,7 @@
         appropriate <span class="codefrag">CompressionCodec</span>. However, it must be noted that
         compressed files with the above extensions cannot be <em>split</em> and 
         each compressed file is processed in its entirety by a single mapper.</p>
-<a name="N10B17"></a><a name="InputSplit"></a>
+<a name="N10C01"></a><a name="InputSplit"></a>
 <h4>InputSplit</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/InputSplit.html">
@@ -1945,7 +2130,7 @@
           FileSplit</a> is the default <span class="codefrag">InputSplit</span>. It sets 
           <span class="codefrag">map.input.file</span> to the path of the input file for the
           logical split.</p>
-<a name="N10B3C"></a><a name="RecordReader"></a>
+<a name="N10C26"></a><a name="RecordReader"></a>
 <h4>RecordReader</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordReader.html">
@@ -1957,7 +2142,7 @@
           for processing. <span class="codefrag">RecordReader</span> thus assumes the 
           responsibility of processing record boundaries and presents the tasks 
           with keys and values.</p>
-<a name="N10B5F"></a><a name="Job+Output"></a>
+<a name="N10C49"></a><a name="Job+Output"></a>
 <h3 class="h4">Job Output</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/OutputFormat.html">
@@ -1982,7 +2167,7 @@
 <p>
 <span class="codefrag">TextOutputFormat</span> is the default 
         <span class="codefrag">OutputFormat</span>.</p>
-<a name="N10B88"></a><a name="OutputCommitter"></a>
+<a name="N10C72"></a><a name="OutputCommitter"></a>
 <h4>OutputCommitter</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/OutputCommitter.html">
@@ -2026,7 +2211,7 @@
 <p>
 <span class="codefrag">FileOutputCommitter</span> is the default 
         <span class="codefrag">OutputCommitter</span>.</p>
-<a name="N10BB8"></a><a name="Task+Side-Effect+Files"></a>
+<a name="N10CA2"></a><a name="Task+Side-Effect+Files"></a>
 <h4>Task Side-Effect Files</h4>
 <p>In some applications, component tasks need to create and/or write to
           side-files, which differ from the actual job-output files.</p>
@@ -2067,7 +2252,7 @@
 <p>The entire discussion holds true for maps of jobs with 
            reducer=NONE (i.e. 0 reduces) since output of the map, in that case, 
            goes directly to HDFS.</p>
-<a name="N10C06"></a><a name="RecordWriter"></a>
+<a name="N10CF0"></a><a name="RecordWriter"></a>
 <h4>RecordWriter</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordWriter.html">
@@ -2075,9 +2260,9 @@
           pairs to an output file.</p>
 <p>RecordWriter implementations write the job outputs to the 
           <span class="codefrag">FileSystem</span>.</p>
-<a name="N10C1D"></a><a name="Other+Useful+Features"></a>
+<a name="N10D07"></a><a name="Other+Useful+Features"></a>
 <h3 class="h4">Other Useful Features</h3>
-<a name="N10C23"></a><a name="Counters"></a>
+<a name="N10D0D"></a><a name="Counters"></a>
 <h4>Counters</h4>
 <p>
 <span class="codefrag">Counters</span> represent global counters, defined either by 
@@ -2094,7 +2279,7 @@
           in the <span class="codefrag">map</span> and/or 
           <span class="codefrag">reduce</span> methods. These counters are then globally 
           aggregated by the framework.</p>
-<a name="N10C52"></a><a name="DistributedCache"></a>
+<a name="N10D3C"></a><a name="DistributedCache"></a>
 <h4>DistributedCache</h4>
 <p>
 <a href="api/org/apache/hadoop/filecache/DistributedCache.html">
@@ -2165,7 +2350,7 @@
           <span class="codefrag">mapred.job.classpath.{files|archives}</span>. Similarly the
           cached files that are symlinked into the working directory of the
           task can be used to distribute native libraries and load them.</p>
-<a name="N10CD5"></a><a name="Tool"></a>
+<a name="N10DBF"></a><a name="Tool"></a>
 <h4>Tool</h4>
 <p>The <a href="api/org/apache/hadoop/util/Tool.html">Tool</a> 
           interface supports the handling of generic Hadoop command-line options.
@@ -2205,7 +2390,7 @@
             </span>
           
 </p>
-<a name="N10D07"></a><a name="IsolationRunner"></a>
+<a name="N10DF1"></a><a name="IsolationRunner"></a>
 <h4>IsolationRunner</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/IsolationRunner.html">
@@ -2229,7 +2414,7 @@
 <p>
 <span class="codefrag">IsolationRunner</span> will run the failed task in a single 
           jvm, which can be in the debugger, over precisely the same input.</p>
-<a name="N10D3A"></a><a name="Profiling"></a>
+<a name="N10E24"></a><a name="Profiling"></a>
 <h4>Profiling</h4>
 <p>Profiling is a utility to get a representative (2 or 3) sample
           of built-in java profiler for a sample of maps and reduces. </p>
@@ -2262,7 +2447,7 @@
           <span class="codefrag">-agentlib:hprof=cpu=samples,heap=sites,force=n,thread=y,verbose=n,file=%s</span>
           
 </p>
-<a name="N10D6E"></a><a name="Debugging"></a>
+<a name="N10E58"></a><a name="Debugging"></a>
 <h4>Debugging</h4>
 <p>Map/Reduce framework provides a facility to run user-provided 
           scripts for debugging. When map/reduce task fails, user can run 
@@ -2273,14 +2458,14 @@
 <p> In the following sections we discuss how to submit debug script
           along with the job. For submitting debug script, first it has to
           distributed. Then the script has to supplied in Configuration. </p>
-<a name="N10D7A"></a><a name="How+to+distribute+script+file%3A"></a>
+<a name="N10E64"></a><a name="How+to+distribute+script+file%3A"></a>
 <h5> How to distribute script file: </h5>
 <p>
           The user has to use 
           <a href="mapred_tutorial.html#DistributedCache">DistributedCache</a>
           mechanism to <em>distribute</em> and <em>symlink</em> the
           debug script file.</p>
-<a name="N10D8E"></a><a name="How+to+submit+script%3A"></a>
+<a name="N10E78"></a><a name="How+to+submit+script%3A"></a>
 <h5> How to submit script: </h5>
 <p> A quick way to submit debug script is to set values for the 
           properties "mapred.map.task.debug.script" and 
@@ -2304,17 +2489,17 @@
 <span class="codefrag">$script $stdout $stderr $syslog $jobconf $program </span>  
           
 </p>
-<a name="N10DB0"></a><a name="Default+Behavior%3A"></a>
+<a name="N10E9A"></a><a name="Default+Behavior%3A"></a>
 <h5> Default Behavior: </h5>
 <p> For pipes, a default script is run to process core dumps under
           gdb, prints stack trace and gives info about running threads. </p>
-<a name="N10DBB"></a><a name="JobControl"></a>
+<a name="N10EA5"></a><a name="JobControl"></a>
 <h4>JobControl</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/jobcontrol/package-summary.html">
           JobControl</a> is a utility which encapsulates a set of Map/Reduce jobs
           and their dependencies.</p>
-<a name="N10DC8"></a><a name="Data+Compression"></a>
+<a name="N10EB2"></a><a name="Data+Compression"></a>
 <h4>Data Compression</h4>
 <p>Hadoop Map/Reduce provides facilities for the application-writer to
           specify compression for both intermediate map-outputs and the
@@ -2328,7 +2513,7 @@
           codecs for reasons of both performance (zlib) and non-availability of
           Java libraries (lzo). More details on their usage and availability are
           available <a href="native_libraries.html">here</a>.</p>
-<a name="N10DE8"></a><a name="Intermediate+Outputs"></a>
+<a name="N10ED2"></a><a name="Intermediate+Outputs"></a>
 <h5>Intermediate Outputs</h5>
 <p>Applications can control compression of intermediate map-outputs
             via the 
@@ -2337,7 +2522,7 @@
             <span class="codefrag">CompressionCodec</span> to be used via the
             <a href="api/org/apache/hadoop/mapred/JobConf.html#setMapOutputCompressorClass(java.lang.Class)">
             JobConf.setMapOutputCompressorClass(Class)</a> api.</p>
-<a name="N10DFD"></a><a name="Job+Outputs"></a>
+<a name="N10EE7"></a><a name="Job+Outputs"></a>
 <h5>Job Outputs</h5>
 <p>Applications can control compression of job-outputs via the
             <a href="api/org/apache/hadoop/mapred/FileOutputFormat.html#setCompressOutput(org.apache.hadoop.mapred.JobConf,%20boolean)">
@@ -2357,7 +2542,7 @@
 </div>
 
     
-<a name="N10E2C"></a><a name="Example%3A+WordCount+v2.0"></a>
+<a name="N10F16"></a><a name="Example%3A+WordCount+v2.0"></a>
 <h2 class="h3">Example: WordCount v2.0</h2>
 <div class="section">
 <p>Here is a more complete <span class="codefrag">WordCount</span> which uses many of the
@@ -2367,7 +2552,7 @@
       <a href="quickstart.html#SingleNodeSetup">pseudo-distributed</a> or
       <a href="quickstart.html#Fully-Distributed+Operation">fully-distributed</a> 
       Hadoop installation.</p>
-<a name="N10E46"></a><a name="Source+Code-N10E46"></a>
+<a name="N10F30"></a><a name="Source+Code-N10F30"></a>
 <h3 class="h4">Source Code</h3>
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
           
@@ -3577,7 +3762,7 @@
 </tr>
         
 </table>
-<a name="N115A8"></a><a name="Sample+Runs"></a>
+<a name="N11692"></a><a name="Sample+Runs"></a>
 <h3 class="h4">Sample Runs</h3>
 <p>Sample text-files as input:</p>
 <p>
@@ -3745,7 +3930,7 @@
 <br>
         
 </p>
-<a name="N1167C"></a><a name="Highlights"></a>
+<a name="N11766"></a><a name="Highlights"></a>
 <h3 class="h4">Highlights</h3>
 <p>The second version of <span class="codefrag">WordCount</span> improves upon the 
         previous one by using some features offered by the Map/Reduce framework:



Mime
View raw message