salt-doc-3004-150300.53.33.6<>, (c{Gp9|Ҙ6lLH/"-2|ħΏEs m`sB4k1.6Ng;f|Ac@B^Zfm"L!;!}@.f"񦪧չ%Nz.^ރEM:6OH陈2e[Qqkg D,꫇DgUwZQ1NzD{Zqydʈzd i/s 3=Z8rZ{Pv92jB{wh< |2>; (? d   Z /BX^ha>a ]a |pa a fUa ua<a!aMM(aD(e8l9:FUGpaHZaIxaXY\ a]a^ V{b c id e f l u av ˌ<z ص    Csalt-doc3004150300.53.33.6Documentation for salt, a parallel remote execution systemThis contains the documentation of salt, it is an offline version of http://docs.saltstack.com.c{Gibs-power9-12~0SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttp://saltstack.org/linuxppc64le;v8PPa 8TM+KQLWKNHHLcQRjTdc^r]`sT{aplyQpOgt]NspodyraT7UaXdd p nN|' Vjpau{``imim`lsusjr|lfrlor{|mma:"O;\Qp[p[gvp^soXfuT^^qb_\ ?YSP\SPS 7 [RRURUmOUUO^UU^pXRRRUpgg[dOi;Y^Ux{o]ljZ[Rol]qiNgf]xx{a^[^Xvxv`avvu|oaux`{`a`j`lrsoa`uaWZfXWjoooi]Tf^oU{Wo`Z[~NUTuRRiTiTfmfcry`^[|Tc]]pjUWUQp]]{Tl`^WWdriilrrxQ]roy[axcljRuZ,`i]Zi`iiNWUrUXRZjafyNxfeUW`^ZfgXbWRd`Q``g`T^p|ZX]cacpmlcZZ[cQ}Qpmjcmjmdjgggm`djg`aaW{gXT[fW]W]WWrWWTZfhthqshpvf\ookd]^dlT`WuRTQVbmWsruxjUaZ]RcsQXeyS^TeOjuQlWr]`ccXN]Z[[gv`]W``W`agmWQrZQa|lmQWfTg|WXQNOgll`WURT]`]{0m|]r|moZjTrporslpTxZp]R^jWZgiiQYW`DXcZXZvv`cUtlj`QZpaXoUv[L]W]]lggrdTjX]^lm``ar^`ll^Zuji]`rlx{ifwufali^u^xUdrRRT[f[QsQ^^dWZ%UgR`]NW~j`ofcZ^NaNc]:a]]cZ`murccfaZcc`TuaZuTTRX[dQfrWr]vKa^a[TcsUlZUjXOuaifu~OfLR[UaP\Rddal9imjdd[aW^Z]Zc[oT]i'^]Hu~~vsx]o~ruymoau{p.AZTTicQUQaaziRWW[U~QUWlOffUT]QZTUR]dZRW]UaQdRZUTlxTr]9`WOQZQZWXIQ]L]y`icga`fRTigWglgXZfKWZujuxXU]as]]ssyl]u]x]l^~]gZ]i[pl^]]UUTfRdgQwTj]Q^cOQcfQvjpmROmZZdmQU^oQ^aNlXja`iO[~y|WTffKmQRoRUWxlxcQT]W[Ua`]]sypvmvm]QdWR~aWXufNcfNOmagmjagd]jd`TisuiTTpgddooifctYaYpsZsvpUc]NNSju|v^`{xoUOP[Q`N^TZoTvx{osysl`YZU^TjTurrylojTN]NTNdZ^]ZZU[QouWmZ]r`WdfNW`UrQ~]OWmUXQZidaR[j]^oi[rgf]oixtro^ZaROQmgvsgvvscXOoRaU~, `( &H :5I#R: iYVfYSooYl[j TZNl[cTQ`KXf^[->N<DLbXhc]nXdB<01$ + ",x- &  T* I):f' >"3 : ac$  /)'$TE9 , !XVQh g7#7'T   6>a  G3 c!X? UB ORpt"xt(c`=cQc ccc c ccPcZ UvF et d ` !*-74_.( 0U|: 1 V z~UPQ` 3` M$3k@7Mc!}(UW3:5p<"F-h<|=BEV@zϔG&zU-AH$?`Z t%[;o[5hk3"V(VvZ}cov5q4BCc" ] - x i) $r )%*6 i/+tDv x FE {s)J#~ ;")tT2z2!" FEGa, 'T39 Y- i8|D!v}q&V=tLRJd ۜ9dv8$!FP[&`P~Oo@[BIB DC 4@4@   .Z l7%JE *_>;W*Dde MQvNS;c]x:'*fPaZZ_~ nXxDA8T DLJJ#\OQ]Qn/qT[cp4XWW[cbsq{\gzibd(sb`Egdg;b|lk+c c"b2fKb|i;l`ccrbzd#cx#OTdeeh:ydx2\Igbgj6iqgK?mQs;>o]q>xkuߪ/n{N"%y{sW_Y1nfp#1[]m ]a'cMg{oyI^X[d_j[tWX_TQTVVN^\X9[]\ZSaZ,wn;f(y]YZ>X]`H[w`=ZC]WX_X[J[YZ<[ XYY`c [y_L[;S(kSau[XD9XchQxBYh{Qa&mYJ|q_a~rlSd9j_=n>Ȫn;Xev-0e&<bQ: aI.=dO-_ɄPwcshjohǀh:Ff[5[R\x W]nXɿj/g9|dmWc2eslsojfcbNnvhMZMF]r-hm9f4Qg~g#LqiDIIVImkjtW`d`u~cz^~_qr3r`Cw@wM,vPqYLP^&wzTfV^ESTN;hnʸ}uZ1RU'{[PUoW\k RaJSBf[eMAooOS tE^k`z) VqXxIcBZ&cGUIl7M] Z4Yi"Zd3y`R_WIdru^.uZ\qoZKz@foaT?vX=U8^n.mVˌvQVP`pmyX|wle5Y?@i7nxnUsV ج5!ϘXݭWv-31JdWVxhyX_XU_W}cqpc'ޯxJ{qx*XgH"b^N)# t3!qPh-lL.T]eAxQV]S om yD4c;M߶dMk*UAT{ehmgcyi!kQ_K>nZOac0Mh[fOjzK~ؒvf$n.oWdrZl6]kucJk`rTgWi\RnpXOYkSORU$QpS7IW~c4f$KMT;PZ=V+QMRZDp(IYs;`sK^jK/ۯdȥZFZaNd,lvzd_ztqjie4o!{Wrs.h;a~QS 3#Q]{ jX0qfWehX_>Xb\cXy^<RXX-[[mAEudidndym#lRw8gzGtLj<rgrcs>sNk:vg'nn= rdq=yyMhhx?s}xh.gjdBu*ub4ad}vb.z k:yOh1`Py~obcdbbJccbBlnqnbMcxnoƊzArRGx1C~mqmK0{~4k{x vpAw{~o"'{pohs]bDqdYUXSYW`fa.zZmbgecufz,d-sSqrbasmrѥq'yet$rhSTwpmosixm=ga#ga`h^"dcd0_`zlhj_J_aAYRbIaX0chTa}3 }mppU35/V3<"%[0R}dYe;`jpdl0 rP\(4+'JWV6?|E %5*c9(%A(ITo$ dC`s_:j&  ~xd=Wd!E ,Z2>p9Dp>7 sA/ks |5= H  !b )-m+rwXPi*n\K8\]!X>w$s&:fO I8kT ]:(}26 !.W>h JpT `St m {  3mvg#5yme, :&[,j*EJ  8<@bHK " Xl)_cj\/. iPD9 6&~3cJ'-  D@x3+':V-. *|?5 [A5JAR*X%*:5n2xws\vb z#6 j/@[|F*}_f.Mif[mLfkL| dkZVS|]r\W'\ViXRTUO\_;UUZWe\Z?V[\PR](O]v=0pbX?zISSMNrZJN pwL3e{LoMr{,wR{fejcnQfVRP5bWNs_ph}hF@[ :rYtMo"j '\~z:\xOIc^Y\Cy9X0J h~eiZrrsLPq)VRxnɖV_{)]eLQv[UeoSfe-cKTIyPS`s4J`V {ܤaqcb5YFGHWLT[ gV+V]@@kn#@!@G@@@@@@4@¥+[+0ԫ jPzQ^c_t(K4w$@`UZdSQ:4N%]-{UMelCF/1J6x d_>>5`q Om?Ґ[kJ3.h'A8]/8]]_d֎pV OAHHD_?EcU<=WAL}MACzk-'rmz\geUOjic-OmMfXPX9EHSXkeiTXuD]}[isP\e} lNqCcjwl]q)lGU[qLMGe$hOYWpI0XbAA큤A큤A큤AAA큤AA큤AA큤A큤A큤AA큤A큤AA큤AA큤AA큤AA큤AA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤A큤A큤AA큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤AA큤AA큤A큤A큤AA큤A큤AA큤AA큤AA큤AA큤AA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤A큤A큤AA큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤c{G{bibibiaezaezaezaezaezaezaezaezaezaezbhaezaezaezbhbgbgaezaezaezaezaezaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgaezbgbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgaezaezbgbgaezaezaezaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezaezaezaezaezaezaezbgbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgaezaezaezaezaezaezaezbhebhebfaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhebhfaezaezaezaezbhfbhgaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhkbhkaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhkbhmaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhmbhmaezaezaezbhqbhqaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhwbhwaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhwbhxaezaezaezaezaezaezaezaezaezaezaezbh|bh|aezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbh|bh}aezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbh}bh}aezaezaezaezaezaezaezaezaezbhaezbhbfaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbg1aezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhbhaezaezaezaezaezaezaezaezaezaezaezbhbhaezaezaezbhbhaezaezaezaezaezaezaezaezbhbhaezaezaezaezaezaezaezbhaezbhaezaezbhaezaezbhaezbhaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbfaezaezbhaezbhaezaezaezbhaezaezaezaezaezaezaezbhaezaezbhaezaezaezaezaezbhaezaezaezaezaezaezaezaezbhaezaezaezaezaezbhaezaezbhaezbhaezaezaezbhaezaezbhaezbhaezaezbhaezaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhaezbhaezaezaezbhaezbhaezbhaezbhaezaezbhaezbhaezaezbhaezbhaezbhaezaezaezaezaezbhaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhaezaezaezaezaezbhaezaezaezaezaezaezaezaezaezaezaezbhaezaezbhaezbhaezbhaezaezbhaezaezaezaezaezaezaezbhaezaezaezbhaezbhaezaezaezaezaezaezaezaezaezbhaezbhaezaezbhaezaezaezbhaezaezaezaezbhaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezbhaezbhaezbhaezaezaezbhaezaezaezbhaezbibibiaezbiaezaezaezaezaezaeza6biaezaez_biaezaezaezaezbibiaezaezaezaezaezaezaezaezaezaezaezaezbiaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaeza$ abiaezaezaezbiaez_aez_aezaezaezbiaezaezaezaezaezaezaeza6biaezaezaezaeza$a$bgbgbibgbibibhbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbhebhebgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbgbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bh bhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbh bh bh bh bh bh bh bh bh!bh!bh!bh!bh"bh"bh"bh"bh"bh"bh"bh"bh#bh#bh$bh$bh$bh$bh$bh$bh$bh$bh%bh%bh%bh&bh&bh&bh&bh&bh&bh&bh&bh'bh'bh'bh'bh(bh(bh(bh(bh)bh)bh)bh)bh)bh)bh*bh*bh+bh+bh+bh+bh+bh,bh,bh,bh,bh,bh,bh,bh,bh-bh-bh-bh.bh.bh.bh.bh.bh.bh.bh/bh/bh/bh0bh0bh0bh0bh0bh0bh0bh0bh0bh1bh1bh1bh2bh2bh2bh2bh2bh2bh3bh3bh3bh3bh3bh3bh4bh4bh5bh5bh5bh5bh5bh5bh5bh6bh6bh6bh7bh7bh7bh7bh7bh7bh7bh7bh8bh8bh8bh8bh9bh9bh9bh9bh9bh9bh9bh:bh:bh:bh:bh:bh;bh;bh;bh;bhbh>bh>bh>bh>bh>bh>bh?bh?bh?bh@bh@bh@bh@bh@bh@bh@bh@bh@bh@bhAbhAbhAbhBbhBbhBbhBbhBbhBbhCbhCbhCbhCbhCbhCbhCbhDbhDbhDbhDbhDbhEbhEbhEbhEbhEbhEbhEbhEbhFbhFbhGbhGbhGbhGbhGbhGbhGbhGbhGbhHbhHbhHbhIbhIbhIbhIbhIbhIbhIbhIbhJbhJbhJbhJbhJbhKbhKbhKbhKbhKbhKbhLbhLbhLbhLbhLbhLbhLbhMbhMbhNbhNbhNbhNbhNbhNbhNbhNbhObhObhObhPbhPbhPbhPbhPbhPbhQbhQbhQbhQbhQbhQbhQbhRbhRbhRbhSbhSbhSbhSbhSbhSbhTbhTbhTbhTbhTbhUbhUbhVbhVbhVbhVbhWbhWbhXbhXbhXbhYbhYbhYbhYbhYbhYbhZbhZbhZbh[bh\bh\bh\bh\bh\bh\bh]bh]bh]bh]bh]bh^bh^bh_bh_bh_bh_bh`bh`bh`bh`bhabhabhbbhbbhbbhbbhbbhbbhbbhcbhcbhcbhcbhdbhdbhdbhdbhdbhebhebhebhebhebhfbhebhebhfbhfbhfbhgbhfbhfbhfbhfbhfbhfbhfbhfbhfbhfbhfbhfbhfbhfbhgbhgbhgbhgbhgbhgbhkbhkbhgbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhhbhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhibhjbhjbhjbhjbhjbhjbhjbhjbhjbhkbhkbhkbhmbhkbhkbhkbhkbhkbhkbhlbhlbhlbhlbhlbhlbhlbhlbhlbhlbhlbhlbhlbhlbhmbhmbhmbhmbhmbhmbhmbhmbhmbhmbhmbhqbhqbhmbhmbhmbhmbhnbhobhobhobhobhobhobhobhobhobhobhobhobhpbhqbhqbhqbhqbhqbhwbhwbhqbhqbhqbhqbhqbhqbhrbhrbhrbhsbhsbhsbhsbhsbhsbhsbhsbhsbhsbhsbhtbhtbhtbhubhubhubhubhubhubhubhubhvbhvbhvbhvbhvbhwbhwbhwbhwbhwbhwbhwbhxbhwbhwbhwbhwbhxbhxbhxbhxbhxbhxbhxbh|bh|bhxbhxbhxbhxbhxbhxbhxbhxbhxbhxbhybhybhybhybhybhybhybhybhybhybhybhybhybhybhybhybhzbh{bh{bh{bh{bh{bh{bh{bh{bh{bh{bh{bh{bh{bh|bh|bh|bh|bh|bh|bh|bh|bh}bh|bh|bh|bh|bh|bh|bh|bh|bh|bh|bh|bh|bh|bh|bh}bh}bh}bh}bh}bh}bh}bh}bh}bh}bh}bh}bhbh}bhbh}bh}bh~bh~bh~bh~bhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbibibhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbh318d7a372394b7f054c6d007618e13fa16e5194cd1e5085423b514609b7a31cf551a61a07ab92280ac3df45e9e9d3970ce53bae224fee46c277aa47d778c1fccd665d6affd9cd9845ea596c64969eb526144d58d72b504bc8236485e4f9597293388e8965e2caff40482f5658c6de5fd4930ad611a95711f2175ce65d06f6afeb5d6fa5cf9656a14aafec774f5140ff953ccff6c66ff752d3b3daad12bd3dd333ee18d55ac3c23b5506989975d0d50c87d7b1cd652c9852af6f8cfb34977920402c661ad789f6084298861a3d2516b76f0302c99cf2445aebc59f71da7e325294fadc94e25ded00bfd036ff6db2a81ac7b3d676963f596bad7dc1d0c019a2c7ac558d7afd728be05e67c82f6fed19dd7d7c057b9c54d9f685afdd2034b05b5b0708214a830b28f472533347ddadbf2f562550e2eb222006a6a4be565d1ed1e870b5b20c9b4d74a35cf5e3750fe05d3757cfe771d0adc20cc2abeec4315350ed55628e5bbf6c6c5e800857bcbdc7ac84bc0f0b61f41973de87b647af91b0f92bf444b4c3dc1ab063c6996e903e99152c4384a5232a143304776fbdaf5e6529defacf1e9dda658f1d870af4b277a1943721f78ee01215e3ee6cded9938b01139f569e8bf53e883dd356408a282a81e9bd30effdf76b3af9390cf705c014f4380693273027cc21ccae1bf2826f15cb4685dae999a350c744327999925f4db434c40baba5cdf81c577ea2d51681fe0d028906a008f301e9312b5046f9bf59dc0bcf3488ed59aa89078875dce73a95de7bf61e6d7fe417887a80bca1ad8f7ec3eec2531915be113cd518cd470053701470146ac46115aff0108e947d473f17838639e436f9901dc9b76334ef36a09ade498512101fdf617ef1976ce41edc77a7c36710439fb8fb7074c877a99f7daaeac8affb4f3e10acd6635fcf34f29238cb70d668eb2e13fce2f3452ba8df073fee144a148be7b9c8e60b28386fb6ef9d7c8c44ae5303cb414bd129a088efe2036d50fbc976f42610a3b597647d23ffdea797a9b4583155f1ae56b97a118de737a4dbb357c339dfe5cf950a60b3cfd8f188fae1c775eba615103efb0b8052a2d1b9a8f315c4c955613d09805a9b9beb8212abb5a3da07ebc58d50d89cfbcb8d476d2dedee3639b52c2b631685343edf69de5d20ec59e8abf8f9c0e40dd43eee7df6ed5dfcd5397671e62068d16479887cfbd5db161c489f48d5536a0f11540f780f9db71e547e817d36f133445e511a99f1563093006e06445fc40869fb866ee12fb40ca3f592a25ef487f80c69ade5099aa80c30c9cef9461737363543838c737d6b77d5bf409a5248d32c343177f94cd44e2dfa359c6d100d5fd4c41926d508208f858ab0998ff3e0c507fe7fb20e3c05b9b46d83f30941eb8f5da393f6210922c7dac8b12c27698d129e5644562986dd713977a226ec54f92c0a3923e3f2dd123922fc6ce0753ec15e6802d38cbc5c16e49ba21fed08d4ce1c6cb482d59a1be3a9093d601d3d1f4c4aeac67a63e4e9a01af5cfe567fca7e2baddd4c34358f345c27488ec4984acd877237ce6332ca7af1c3e2102e3dd43d2cfd00fb352734de39e563588f240aa0be716af98169fa7c6ce0494dfc30b7068e32e6e78bda50eb588b5ce9b00425e8536fb8b790f2d17e8414047f21126297732ad10cd8e90786d07525f5add7a40dc9061dc8817f2914a3bca57e0f64220ae0b357a60fd62a256fb55941291514f64ab1edd04eaf8932bfd32bc8f9d21a6a963bac3f17a5ef45ff95b94cfd7769685445134698f2b4bbad2d28fb9d412d05906018477626bdaa39e3f16950730a7020436eb6921225db508aca32d93f99f2627392e3d661249c25f82a67f9d126d1150e30637bcc1e800511badaf91281a84230462ded414ffc7ccee49b65d232262f8fd237971c01653aba2d33e4ff233d4870e2b199c289c077f3ae593a13d59b251de7abcf0584821396c375f60508211f01ce57e4de9f2bce77db798e40d1be61dc5d236ed74cde8dd8e3817089f530fe96cfa9133bf258d565ea9102c4a4e90052d7379911591d4889ea7604868fce735f5cf9fb51f0290b8ef466a8881404ff631457d831752857ce203e13c30decb2742a0c9e64076b1ae34f6b5288ce0543e7bf1e3288469ede14927760cb35df3506912f973ab0b65ba7bd92403a63b3bc2c29a280d05853e8fcd189123b975322a048cf8db3ec3637c20eac91be6aafade799872333f50fea97bbcc296eb7b211fc1054de5006f0e8d215b7bdb65006c2f4cc91632b4fd63941e2d209815ab0b1b7826e3a9717cd63b022ec0ccb04a1814a878a1d2795c26021db53390f95208024b8b430e5879b4149aca2a297319c49e0ddfd12f7ca9bd3406982e2efa78843505c1ecda7718621f6dff3954b8a28126224de243be5e43e0b6939ab1ebce82025d93a67eb2322440461439f056f3b849344ed8fb6a2d54c480e9b65696d253ba49aa451e5668ef6f91ca54b8c50a74c5057bd5417af4751b8a2b9251baed6ad0c308deb7626a7615a437f5d8916ba828d5d4df18e3b055b4229c6780f02c78bbceecec2ff78d15ca177770ef7895a7d3935300c444762eac15cda23d4f03cfd5a4e60ebbdab35eaa2f53d47d554c4e0af8675001310775fb277c64068c4e08b6512e8d2eae5cba1069ff0995de4006615f34e8ca29a1ec716fc706c9b802a0cbb6e91a00e68f206c9eac63d2b8c1dde3543944f2521a42cb4a871915ff475708bac9f9f99cb7c354a70ed215ee7af7bbe2497f139df80267f1b2a727a0f9ae4e2f12bb9561803ee649c97ee1b1d87243712bb2eac748410de9d53e9c9853aefa04e8b22aa0b93544e1b2f40e0b2e2f0b1432cd0075d0591c880a5a33d71c4cfd0db6d81ac57bdd69f0fd50beeb1bfcbc979e394f43283c1e155381efd6d65ea5b525cb80b62c5625e5e3de4d173d259f1a0e4fea7086477b01f9c408c117541ecff45681d5a54d160ad45e29c552191cf1f5d517d0bf1f00b997ea8cc3647f19058895331962062a38f9c3451e436454ea18c5c3350b2395f593a7d11f50d78e4a8dc5634bfdcb5a51d8f94e8f4d3a6a6a38fdb5f277e101c76dd4dd30ab6f3398a9ad4f74c9fc0db1f583e0c8ea3dec9e68c0fc58a1a9393633326e71e98c54e55de3ef87cb4ba4bbfdcdd9d31f88f8aa9cca1c8a515ee30c0b2f1e3dbb716a6fa551f92131987e81ddf50f674e6cee0f9e4978e041c60a263b4386b5db83261d3e0ebb5f2d9706de319cdd247a33b17e7bd90d7b5b3c105ff07335825cc3ec3c4b4dbe2ede5f133e0e5bea22f218a333965dedc6f7591d5767d28d927b712f42f1f4c78eee10ad1456328f052c3f0d7ce68e601b196dde009c54a1d5d7002393d83653653c353caac83fc885a64fe019ef21a489118df859d6821c5f4bd83dde5779673667bf0f0f4a194a14a0fe61e45e9423aa61346c8085a5a6daa2eff5597b4d01a486334411176f5b36e18774d7a4e5b564978ece16e7cc33d022b14625f9e8a5f98703aecef7ed0341e25ecca2b866b3d9d8aceb5312aa1956223597057e4ce33a921618e139ca706d46bc4037fc06309d48f9f64d32e053808154afb391ba02a4a976cdcdb86716f268d69281022762597353dc52694028bd4b56ad38ab8487f0bd81694fe67b1b9bfc1c21dcb5b30e85f7b3ffe6b8250c5b92fb1c7babc690d32c58145146267f69e9f458cee320f2dd384b22f2e2a6df0b693661e8885f37539c471a41ce0fb41e2123ee626ecb68d3b762d7643542fc8576a7facd638ad4bcf51c5b1ab218e9b5f891e920958d37601d4772835a607c349397fd52e93397b99097654d857c63b08cd11f4946a8d17a246ac1baafc4b2cfc853839198e7ce9e511bccb3d554bbea7c56d7889858feea8faf034f702a4927c917b440f8f26072750f11052466bcf51971ee958c0c6cc06dd74241db239c070cda70e4c7e1c46a23f49a4a3c4a6f519d2f2f0213c3c8801e876b952278fca592e5b9b90da3104b974e07a772e2ee827fd73b2e50789eac2f104fad0a5828c0e29f828b70a31b6a72a18fc641aba1445f6b2e430952519ebf1bc8a9f7f48ecd35c310618f0d221bca4425d24f85a7d05f1c07697b38ae5f9d26a833b2dff8186561f2c008ce32db6c91d4819f5ae7bd59911581e6dd6e8b424b6542ec63e1ec2dc3f13a7ab65f3e158c1338f9738ffbd3c68cd82779afc70ee32eae881fa9c292955b92214c1dbe122c6182324c745b52fcb1b7f73b0c8e5b9cbacfcbe89fc5a392f48430d95ff8c1d277f718cbc2c0f557c8c51bfa289ce43d34b01d66524827fb92e5d4a78501f8b48e193363a0c66cb36fe0eb0f08d09a9eba49034b372b8dbaaad1d7d718036f9e7639be5f4a50afe9d6ba9216cda1de8efdc4727e6bc98fa123d23b340d43d613aef576ce2d5a7eaefceb4df0ab1c0d44ff5ad02b89ac7ee4f1b5d6b5c5b6fbbc1e4dfd1a9129b4bf535c14432d775e122ea39f318651f86a7c23d4f9c9a09297b6b762953df50ef931589464ab305430b2aefda116b5353112977783c979f6e9aab71dbdce3701ef3dad8ecdf6de10f77e450cb6b2d37ffeb8cf5c8b17c46afab306f24601c3148af2c77fe13172fd2bc4788f73467a8187b78d66361e3ae3c195ddc24c584f1f169095eaa4c5df79a52d5ae524f1782a702fd983f0a06666ee7a32c6415717b6ae4ea6022ddfcadb67d6ab3fbbb5fae80bfb4051baf671f1a95339e9cf376212c222ad9eb159c34119446af341c7833512977bfb50d513b8cd4abcfd25baaa982eb55064d7f9090927c536c5ee35df0c266e6d5a336875fefb01d6a43d7d59551b9fa2f521aee1d09478b17b411d26b134f89cee14b938b4a78b48169a826dc0f35516af292474356da409a8b78423eed546079cb35177c0988ed31c40cd3b391c97cd74facd6da0ab6e19d739ec43b48015e509bd10bab1c25d7413ad68a5336efec05550b5e0771c7b8b84d3801b0b589b8d3a8a0c8b5f1a9a8bd480157cd89e75afb2425b1035d79f8dd7d5a81e75be20b09aee73361187a5c1f1ed019ee4b16b6900580a2c5c5e0b80a0838b4986fe57411ca2b18e19af0b5d12d57fe688607ee2c9de91385c86c290eba162f438c1f2ed5c830b72dec827c7d10461f0665a06344bfc1ceb869966e12c624c92e749d52bd144bc5d42994e98f911b110bed0a22382541d3a29f25d9b55429f6cd9d1ab1231c37ee44844b24d03e42f6886f105c0d6b4d592bc4c470c928297d7e3c07bd9a8fba84cefa08b954fa764345d0e8bce4f0f7a8d12f6f4ea7c6db4939534f8b40c0dd785adbc1ff29acf899fca44033ad9395b9b9a00ea59662f1e6e301ecce372f8f4dd103d12fbf86fddcf32f9b0f27bd34f418ba0d1a67beda267a523ea8253ca04ef32dd240ce9d04943058a71543bd845afcfeb515fbb4b69f9616e676e8bf8e596091a92a1b6aa8e40c6e64e92bc4710538f58494d8c2409fca1673bf2bdc1c7a0bf1386fc1b9203729d3a6ac4d729e89858332f9a678c9bc94272a20475e5d4a08702b9c955a56e2fdf0b2ea966b273e95b35174e8a12d99c0e465f9886cf67350f9e34569d91ce63bf5e3e578832f3cc6ec28bebea7741120e5a5872650235332bbfc4124efe82a81f524c0217df357bca4778cb3a47ae0d456672ce38f2725e8eeba75dd116a5fe82552db047f05bc5c882ac49e0825cb964bcd4145228f4d0a35785393bc48facd41659a5bb17f22bb8befe5edc2b55688b7e6996dea17ffeb09203ab98717bca25bc7c7e8a0810dd2d05b9ef605d8ee989989093ed514a60f5b794dc20379f3579716ac637981a56fa21b012711c65b803fce57208b89f7efa2fb93700f58e3d08e4b5fd3b471ad491373da89f5d8e2dc77a4d32c2a0ecc5a626c403bdb04b1960f15df7eb8be5f6b4b8254ed58ede884a03630b698bcc9f9c2ce88b379a43d57ad277e788e3ba0867cf9bc02a4347c68f106b9e6ba4b27816a5f5655536ac1138531baa01cef4fc2ab63ceda1bd4c17858ba8b93fac22561b651c338ec49c41724817f83bfde84a433d46b2c1f8d0cdad63599c93914569d7af7a90cdf4d8b8ed39bd55239c14097a2429ad64ef8c32a3f0c1da43af761b7e0f7a4c18b61a4e7e417f5e22cc439ee1ef84da012a8a068b2de70743b3ee84c618028d6b22935938b1c0a4e3586c1b5ae6a8077e90939a616bfc86e5cdaa780badb24b00314c11e545e42a9b09ebb97b3a24c90e6f2f0ab129a8e079b1f75e82905b7d3bd1a0c63173d2466bf7dea28f4f116d3fd11c57d375b95a7081cab3c3db69dc709241c092b55b40fdfa0a60528df43436e56e2fb43746f8dafe00ff93c86e9779081048af6c934e8504589b6c1eb6ae5a02c80b538283760d9d95cf33435556d9c6c14a859b30bbfbcb3ad7352d29fb0168ae2bfa11c0f768edada02942c61e386b36e2b43f7992d3da624530a4d19c4255bcf0d3ab03eeb5695b4d5a31be023f65f2107fede9165a88ea7f46e34deb06c43cdaa8cfc327bb20dabe6e4ad12bbebb6c47561607e83813b00dca167b4e44dcbe1add7f594d7fbf0cc655b8b4ea60c3b551a0cda48c9291d185ace0c047f21180a4bc1d61511d4e26ef2fbac221bf16980343f7738fc61a1d4240c38400acc655f4f80ec4fde9241799984a424c615192adb36eba879087be8a1093c8204b55bad579e030efa8511ca4f3b6e57f45cd1b6a530d7e5438a270a35894bf84f8f360dd91804a07bf7024b1edf8c3e1811afdbdf71d2cd1fae58dc43c8ace0aa1c3bc2591cd4dd947ae41de7ed7385e6a25581b9912170a37965ba7dcc9cd955e937acc786dd07d89bca09b8da94380808b6f940a7762a23dc9325a39d3b1cbe53ba9489ba261dbd121515856b66b98e8b5ac5333c552cc2ee4fea19fca8f301cb8a17e997898970daa97ecd057d735329a3612b0489011a3aad9c369cea7ab79f3969688448228f0b46684edde5635650774ba3712ea718fe5bc96231db6e7d09027d717078b4e2ebebfb76bab1e3303546066c465a8db6ec4d1ef688714d0968bf405c0687a84a82bc284721415c27018119b0a8e27f187ba91f2e104c0b4df02fef934f0f934f1287ace34e0f3f9088f3d34c9d7abd1b59b307a631fe82d6373dc66fdd5cc2816dc43600bd6877cd5d7a63c4b64514d059e4f496904737c8875a66fbf39e764465a35cecb94e0e8fa7233a21f92687264a5a3514fcb8d24e64de5390096abee0a3171faee6646e85e30bb9fab239923545d120235a26bab7c8eca690fdd0a45f0ceed2725e8aa59d11c571a195981a2a9c6d79edac387df1e97d6369d17b0cd465278ba6b277f3c8336cf30d11fee605b700567a1278bc9a503d4d1f26c47dd9c296b69d50cc07997c138a71916cf19cb90448ef2ffc82dbe767b52f51ffce61f9f425b6aa4e8cfe1b2a7be6c81e362bec8f50d2719118a7b0f28b3135c9e7d3253ada719466d778b3832eca411616bc2040b64d7b21b7cec4f0dfaeb91a301c87e87d50ccebff27fb2a25fc9daa4e023655d5fab1963c23dd354c07216cb5a4286087b2d00d15ad5256e265da5d5ce8e0e399fc6f762a894086bc4c5b53567781a6f4e41083961aa68af8a54835b0c7a264ecbd58138ba7d2a6df4673e235a833246d8f05cf041d8e2fff1fbe227668a7764bdc08b83b6635eddac127c3f566af2ea531282c6b808030f7409a5974f4ec67abc66668d94a5b69896e81de3964697399fd1edf8308470f42071e82f4d54b135e63cf049fd7d12c381f8175f8ff51a400bd2ef990d91bac5d02473676ff383831901d122fe5ce7fc3c206f857adf4742e512ef20228cf5350ecf6a613f9001ce8d6a817c5744f18231bc137cf35555245bd3759c22e0d2f65364e3b15154569dd28075a1dca235cdfbebede224b9fbbba12ddd159800346330a0c3dbe4fb6b2de083cab9f40d74946155817911849379d814c9bc38f26dc1546270d7a2c3e0aca2897950d7e9655dd1df7cec893cad4d1e1293faf10f9f166bba483afc488f59f8f69c866b42d08f20c18c9a7e91467f4c4a75331d038a58cc12df6d7f806e1211409167e591980fd688b7b2037947a1c74e0ab16b73832339f967a7a2df714939fb0083c5b5b95dfae3ddb5314444540a71445e7218adb712bd38a3f281dfb0bec609dd544458d42cc9d13625197146fcef1265cf590ad894282e6825299f80e4a373b03414daff76e965fa0d0d436d52ff0e075a4f8a9be0b0b7e8fdeddd79eff46c340c4457ec9928b33e3d2c59d32466f261586090ea5c690ca39d582b1bbf80a5ae3f62bc8946cb6d1e5d0ca68d648674e43d879340f7694266456c9e59b2a98bf78a2ee41398840e0d70be82f3bf2cacd942b0a070649f355d3afefd032a7784d97ceee4c1274d7b325342c7aa638bb9b8ffabea14ef703e10772a1241ac8f7bad70ac999abfd1f53495341d74771ba47ea77b2d1b934cebc2873aa4d343a043b3f98898bb9d9191f8ba3dffec55e389b21afc334df724549dc18e81b3569d7bf34132729f9d1f1766f261c05ec43ade04d694e28bab8e02ea6272814a9263fa835a2bb21107e8dfd5e9234fb1db38464b93659ded8b7d84a2b880546ab098b3965d73a1825e7f9843ecb6faa37294b8fb8dfb9f5cdf9d3b043bff4f53799de572d4c9fe26348014ebe63b6f23305a528eb248e52d9682f6d07636a04cf5db6574864e2dd2cdefa2645fc660056e2cfb51449d15da5a47e5f0f01b5ba0126ff941da485d037c22948509d9b41e3a996889dccc35c16cf81b56fc015e3b27b1ac87bb2ffbb1d1a118d2db90532b173952148412d81a0a53f007546339a91e0c855977cfedfe35b546af235eca1b44ca7f9079ba9fc0298fc7fcfbee9e4b215faa2cc41ebd254ab50ab151994373c6c06bef96d71ee68639efdb9c94ee25574fa65356a7f2605cf7bf47be73852758c76f98fd2a7cecbc5f476e669ed5b63d19f1529c84cffc5c7557c59fcda90a7ca51a88ce62eb6fa7dc11f6e611e53634288283872fe0141029a734e3930083910a61a127e5b59ed70412131169e15b10b1e797dd637ef6175cb1fa7c66c95ae0a283de2152618ebe6ebfc93773191b988a15586c5c31be4d293303bbddfbf6b3fa417fafc013a0ad4e719e757af7fe92fe6e57f4d77dfd812e8a374e8df612bbba6b6a46ddb68d1fd65d5ceb2886c6044b6dc1229af2600fe47d8162379e9222b22f1c2c3676e49c69f9f38ee7ee9c560350d2ad06037f1b25dcf055fc7c05fa004e049376abcf8c39e0670d2c12dd036c994e97ce7e56ff94f0b3c8329fa15a1231b7d64a12467f6348a5d26206f7219ecf1cbdbfc7ee2bca99b06384bedbdac9c5e0f0c2b9de6ba1f81d16c2c77026565e98aa16b5c3c2dff8d0b84ebb1a4a1ac7cbbc7302d056b837129bdc16c4161534d6616d914dd3f354fb9f0f0161cba75a7e73c5fdf4c8981c523f51d85ff66930974dda7aa88feed3bc495bfa160d97fca405b04df14aca012327711323e87334a2ba059b4925a1e95c1f5d1bd5fffe6e9ed94572041852593fba9bb18479b81bb33575826e6fe45e582386ed0709e247debbf98357c705ed4351b39558fd47f3c3a0b6755d43d6ad66388954f7ba0296fec3385d631283ddf016fbc2af15e109528b30b7cd1365de80b8d4872863566aac0f95e767534a04a664becdf365cdb6c99dbb1c805eb2b406453720317f0cd4e26ab5398a93ca709e5d21d5c2ec61de6a0c79e1e995b1285cfb4fef4b956e97f636c5d2e3f99a362ed867309290fbbc975f62ab99f19d0cb0af37c9a801b26d7f164ed391cfb0eb21df30fa350a5efa1c053009b0d074d5d7ad29a622878369c8f235eb34de0f167be5984f43f168e32c2e75b2aa3998e45f881a0158d3acd6a612eb9abc7921b9d24b7ed8b18e2b500c0f3ba5d411220d782b63cc33e4747832adaff61c5f6a16c60cc1953486c3053341deac9c086003a7ab7e29f776e6f87d428a6a6b479cde849a431cada61da8f6109c81358b00af118bd9d04916da6de84cd95e546db0c57188b5fb12759525e15a08b6d80158856e2f1b3a52dbc7be9a622dabcfc9cfa776956aeb3cfd636eee86b53ce92532daec5aeeebd36b3002f7128b58b5fb490a7a2d1f0f5d05c2753ca75c9c500573b3b0a2eb8bb8128152608f436c9101b4de89f4f47c1c5b466171c37964f3fe6b1c6d032c82af4580061b1f946468a05237f976fdd23acf7ddec6429fc9084d74bf4674dbd5161911b0c657a55d6ef9da869163b9555e08f9b55a8dc3ca07f55b8f8780db07bda8ffd3d714a0a5c38614fbc41c488662d8878b9e69dd643e642962ac8cc572afd85286cf40a5e4ab8e59e8181563480500f6d9d338eb9290c7c9456c2d93f1d051d20bb6c430a88e13a1306874f80845d923616fef912e27b92e880afd48a06fcf4a3babe94ccbbf87e30fd3f7baf6027b8fef591d0181e472356191760f5a330d854482774afdf86e302edfe1b232f5ffc60a96acfb7f7a163aee1384cfb3e98a827222f41d4b4a1b524ed5b924d5c1ae0324ee850f9a4e1269df9c6ebc8dc2648d0b6587061283c1bad7202249a20ac7fc92a5c6bb2910bb552b34b6e1b7a0e58e0d97478d36d97db0edb40701f536c49cac33a77d405c3e51a9e215d5d57d67228316b912b9efb5ffe8eb44cf03c25a5d32a460728f55a2c879a1ce01b41a72646b6185773f6fa8e22337ecf201255226ff5ae5e88cd778d3dc594451f5eb09a8974b0f724b0cbd22fe169a2cd096d4c38cedc2b52f36b792ee563a1651b66b4d2f0971827ee7a281230a3f4dc6124a861c6c0bfa9985302d3a5b86a852f85079fe166fb13b7e50a8933bd5694deab01cfa558c8ec60559ab90ca6dbdd9abc28d3f3a20c2eb32763260db46d8ee9e796c4fa61b4b32f051284cc717c210e6387d6fcb0fe6b8fb2f120cf6e8d24da50dade3714dff227c270a3353b4c5f9906d8e9a3f732e6d47f84986060809ea7dd140250154677e8a75d52101c86b948435e435206750d5874f5150aa6f04837c35e116d36e681063ff32b036c1f21e98b2d49bd1692127c7ff7ec34e0b524c315686149c9c97ac3ee8cc1ac78591b2eacb528ad176515a3a17d32050f8e093880b2db67003ad77332bc1fd3bc2e03d3673172e9c1858d81ae50e48594619edd51b8c01220f5303c5a4bd29e06241c5a17cfffd12ad6b2d42562e250a15a56b836454ab4aa9aa2f1c7494bb371c234a90d03c94ea4e259f0f50d2758ce66f652823569d52b427ee228b5006000dd49ec79d3b993d5ade6e4fd918a707b7b3eab023ffb894fce7f2783d6af23c326308ac7ddb87a0b2c8cb888c0db891939c3e80d742d014a70b276e0369af9c4df6c87abe25458ee73a6780e2fe98348487f215ac1b9e9a1c0c1601a18fbb5772df1a48b13e2528c4c741009af3b667f766df370a0e141e40d833862f1199b1461cf78acb1c5f7d5bd22eade8e6919e18fbaec0bc687a5275b5b0096f118b5e57011f9a25f38ef6573fab21cf6c2cc4726e812f5fd6e93cfbad516e888481e8e1a3beca8e6aa88ada945f07979cd39b2a37c5344e1b70a287fdb3795d9bbf6881ba3ad3e0f698736e9ae51611424e8508de010645f10c4b8c6ce2d0cb19c31cb96053e5e56f12476b208ce1857c90d3187cabd697a218cc9c1bdae8443b07ec61469832056df74bf15ae31f88fe6e2dfdc9f43ef8a8b739c819cefac21447b1344811bb71d2a96d418db23dd598adc0b022e0e819abad99633cea8ca7e555b993491d5ef33224140bc9b63d749192ccf5e285e6d3b0189b3a1d325d88df737eef1f430a5dddaa317714c22e11fe5fb0bfde871c5df52f544947111983d82b48f2161bbf669058a9902bf653f7ff1b50e9fb04fef135e887f7140f8efb60c081b0b27dc3e0b8c0371d0a01acdfd88a8f3513a82491599a3ee1b74cd66c5497ac429654a0d85054cc9091b029f2bf471f72f6e58ca3c31617e9ef271f51dd018029e30e1ff458486b0875ec547ca53be7ce2c41d14d5e1044f04e32527cdc54376b6b744749d16e7b7d5fd8aeb9f21328e5cf6334e3443215349df55d6e6500805395b9fa3578253637c12d958c7e197d9e29189e4276e488f0aa3dd877f9bab2d14da46107562fad1d2e51e74f0b8f775fd302734065422a5d2136bb4856776383ecb5907f7ea2fbfaf44bb20033a34d5390ea0433c03a4bd8f6694248e3ca7ba6e604a5b9e7d175fc240d51002ca55278a0c4ae4e5d02c02603187d2f08e43784e8cff57f8420f317c3681a3ab81225b249aca420c9e7175b16668df2c4811a85c8fd0de4e30bcdafecd47be2b37b3268ec55507c5cdd3c5d09050ba295d5c8f53ac620ed7bbe01be43dd0755de5a6124efce161a4f07497c124305031b360036b3a2bafa9072ac83f4d7d76f82f192dfedf65e67f368e57df101d8bbaaf9b71086e0f62482a0a6261adccb4e56bf969a0295f6f4e7559fcb12f2b1c4f63ffc39c0c3891b5a4a77d0abbb7a67487c40d0ae75e6e15091933212615206078342a09b09ead2d3c6767a401e27fa182dede6fd4194145fd6aace0404aaeb15b6da7f08f4263d6433053634d2b46108c1ec63945cc5a993b9dc5f3384b3dd1f169b3a2b18f73fe8cd43d4d5cf7c96eaceef8367f2cc1382fbb437c5e724847d7fdf5ab474f3781f2d01b85a187fa61abb0afa3b2e7682df4298d3fca26d29458c99cb5b5715a660952c96480b1c7f77cc77e97c12dbdc5199093b15bb87f8efd4fd6c428a49e9bead5a8e180efcffe394707cc846a40a4cf97dc802db212c91921a5a0b44ad8ee37db54965ada916fc1255545896c2751279b0cb72c5f87ccd0435c7e518b768276094e61fd9dd990f685958662464b9c69cd5510eda123bea7b0266827fe71827701d3a56312e6d3e90df9250a99f74aebe577fdbabdb8136737e12424deb28e9ec4fc24e4109648658840629d52f09de5c0840249263c0f0d508e66a4ed2c5ea4ddb1f3fc0711ae78536fa8ab4e5ac9e3a9e89afcd46585597e1d35b527f1029f30ebb53f34db513de9e7aeae9fb322d91296dc083e996602eb9fbbe4e0b6b2fd493aed85a7830491c4695a18ced37d689c573bd83badff925e3ec683b289c3baf1ece4ea77bd54629234c4f5e4429450f9ac8c448b2aab8dca8af90074515b9d334b6a5a2141058d23a4eda845ee2b59db3897f52807310a3ec50632f3c367b5d93def3b70c078061da3d2df6717063536f4f91ae4bf75dda47dda30c9544326bf13823bdbc751a7b66863138243d6a49f8b662b9625fc93f50c49c1686a8f12fb4c166f52e3695d932ef6e02d393e85411941b5c83bff1adfc6dfaa84e29b3dcfd542ccc0f5e34bdb338ad1c5d5f1bc1873ca5b6549f8f4002504651668d9bfc50d2929cf7ad04b27969894ace5ea995423a9eb5faf9b52e2730769a48e6289a71723e036f527d919133795c48d6d0bef4b7c187f5739564926c3713d56297c7bae141f20304f4afad955d0eceaae5de8b9800b0ec7e859e9939fbac165e8b48a5128863fa0e99181cf2540b53945d91acbfdfd001faa843d549f6f96e815828f855fc3fcb90e06331e884d5a91d5e25fc7dd344c1799b8801d2fc816428ede71baf33d76ba2f7d5dbf0fe63cbe324b85a534e61394838133a18c865cff53218925438fcf0e0e450bfa7dc549f6e701cbaa1b4dcbd4eedef597b15670ae351d8e9052079f81a11050f20ebb28445a401e60cded6a2a7fd14ad85d4ea7ed73bfadf6a80288c7caeb1b0c076708d3518c39ccbf6a867f80cca566822f3797bb8d49130a42702900950a0dde729de2e0d99cde0cddbba4775b30e703d62f3a3c5f80150cadb5157486ca57051cad80e40083572510c4c94ad59ab23c15cede1478a616b95b46f5e818484fa0dd22d7eec7bd8c2555055a011015845ff034363b562429f5c4b961c3c16b086d2335caa46955775c6d87460688f84107dfdf155af60c6b91565265ca4c8f5f8cbbfe377a4a71878f95945b2aef9752bd80ff08a9d680718818f7223baad23a73670a6b863245919f59bff0ff1b6bf6031d4d281ea70f3133d89b51c383f23b8e62b4e1172ab9af1ef9a5c1ab861caa96c8ff1b96b2b39b18639cacc09b481a9e0e96b9ff4b0ee74746267e12af1ba3e9b54a4d4162ea303637cc36665ff59b012ffcdb4980ea5cc7ef515f94c14927b773fa9fba2ce808d0b3246964153fef43bd8e2b3a2e667c0d00be62452844565bf8e0dcea39b1cc9a6c96cb6fad16249aa47874e0f72416538a841a587dae3a04c1bdd51381106c96dc812b9cc0a8e96ba9d45703f2e826a6a54597c47a653257afb0b8c674a4fd0bc16ce0bcd54d63456b82348f119d2e961703b4566e9243e7b88f3e4ce2916a78f594add02a054fe8f11cee39bd14f815f9fd22e2268c7cd9478460fea4cdd4c42a954a0d12fb0503a79a02c5b96038639910316919a0ed91e84ee4c9233a2d432679d70bfe0b0c4325a4af444a1566440e93bb828561560e81681d65eb90374bd3f9d0d6accb7c15b74ee92725a550c74b91a3c3c0d369ed81bb7d58fab16a4f9ecbfebcef35125048b8e1a6b4b145b0af141a3fb056a5737211aabefef6f0a0a7d36211122afddddb7c0bd253fcfaa85d1c9c545f5074c419369480cb3b7ec0c4335cdc5b283ff81a359b8e98826680bf4759038e59d9e05dc4285c31b56c9197fd1d501ae13a9797012e7fe0f42e1c11ffb6b963a9d4224820f5b48f2f9f4f3406ff924aabf1a9d342bbc00eea7a6fc57776243a406b9d29b41bed8cd4f86f17cfd806e817c3f20c17fe8bc1abff46c7b6a532c7465f115b2518e97fcdb9a8a38f6de46e4e8e6a7e9a6c991277b63e1a80b9c020aed87343bbc1136f6c80f06381a69f2fe8b4caf666d92156dfa5d54280b8a61495ef561833daa0ec277d05f89561d306eb8d714ff448828d47e4c195224707c3a7b48e0f6908d1df07bbb401cf148e88b987afc6d1ca8f7d14c68071bb3643ff2ccfa5dc0d31ac18c7c65d072452e5c82624534e12b5fbaf7f1901147bffc9953aaa59f59c37abe28f5a88741fae71516177cdfb7e69c3c7e11a672049503803975dbfda6cfc7b97266257c04f3905d3402325f652d935f965209368375cab2664d11511cddb0bfabd318dc9ae3a59d9b7687bfa8cf57527ef37c6a2342a77fc4b64f387f959257d88770c09400b54a8346099a576927b78f7db0145aa27922c1e99ea6799cd384c8db152e3561ddb395fdfec15ee8b6823a8e7c89bee23aa6603ab8d43d2728462a4917ef05742819a58f910b60045e4b937b0e0645657f31055808151dfc6492961f29b0cecab60e55986f5769fd1fc159ce6a478f91ef11d8879890199d57fc893752076a6de20236c1bd696fdf94a375986da4173f181e97e57214b379bc460a05bec5fb9a1e272e6500df43afb51ca099ca7c339dbc3ef6bdbe3b733054ea61ca9a7d295a89da1c47711d932396971af1a640f680800ee6b29843ae9f039282a4b917990c4519e8d15389daf22f18903738da744e11f27e6fc5ed359d1d3ab54987c0531dd2afdc0965846933998b2fb460a604e7333dc1c437926c2c55999f77c67e883dd0d579fb8ed01c6534a5c200f82471a32fb01556861974a16a0d6cf52339d4776b67b25e5038ebf7ee5809c925b30b32a57d719c643ed38e528d4d4dccab2e5aaab461bb92227377ee62e35ccfa145a920d3f609bacbfc5053df18af2e5fd634f9674651d7139b57fe89623abb5f09fdfc950252f163226dc0d3aa25cbfd86dcc622c5891bdb6d01c6281b4e4f898eecafff8c6f5b857a1be0cd1d32cf290381fa09b728961e156488532952c556018f4dce1c4a8f68def9dafaa9453abbd3337ad52b88a633e611a69236ad68fd91dc71e0961bc34519891712046eb93c9fb0a153a4acbb2e4f44f4fd8530c757ddb111f537573fd981ef2aeca595429754cd4033d544ea5dadb2bae197de588e37cac1b30f024fb6e18002352ff847381b460b10c14d74c5fa299bd689a37d5ae8bf4238f1295b00e8119009735129ad59f12b978fbc7384a2b67dcee0843987ec5e5217d4c18d4397325494bfb25fc0b1dd0d8c34f74d452df31682fae82f1c3fce80afbb37cf8ba2722d231b66898a51c70a858a4e11f4bdfc9a6e288c9d60433bcc97b9c1895a2259d50944a41555ff9e0d36ac000e2e10c07c1637c0fefdab20bab2c0d127f6f470da2602bc42f633242b53167d31e99aa89e23cc9ddb0c6c02c3583a10b4142dfd384046c567067a51a2da679f724a0d22d7c28644d14f962c5a79d641b9f3e34cfa723020baf9933fcd78a489edac0a054613cc02d6040519bc747ab0398d73c021382d8d27d44eab47fdbc631627da8b62008353b321a4a48adb8c5c7c8ca9a891aa88421582be245784be2b09cb3b292a14acbf79a513c3fa231ffa39131c18cc08657a4744523102c67c9e032c36201c2889fa4089aedb0868c306e07584484f4c4855307f889ec0d6d14749432518e126e5992899ae300a6e8721bd20a195f5bb45eb353faa98c2411a3affac37a347de0f231a1e82f720c24f3a82365e3155b2f18912661a1a80adfea93a77dddcd4614fadb22b1184020a0c6c09ff777df2930dc87446fa6688db197a5939700f43dec79021755729e873dfaf347322e7e14a1b22774d35847334c4970fe97cc37c0af5fb18ca9634de6543b8c9875beaf0f4a6d5abeefbac50e03234e7cb736311a5fce814d59378bfe32ca81954252eb97e2407af317ad0ee124da3ebb175ca6ed8b52ae2800091dabd98fe083eccd52315a7f25734a211d705a27beb15ca9c40c45781e9a33df497eb560316467ab2ac14a59d501d8dfe617d5c714b38019bd41600f190ade5113adb672aa32911056c2a555dbb62fbb484ea8b3b9560947b5d28e4ee9561097991494224d52abf946555df826898f8e2dc8e13924c2b598f8ba70d61e275c30f2462a413a12c214660816c4807d6468fc33db1255d6451ece475fc94a815ace25250217a2262302f6a0f79c8a2b3eded7ad7be9b9ba8cb1ecb15beadecb2641199e1dd552a5295a393cac07b9f0c3540b30305a08ae00975ea819b1983f98b12376ee391ecc91ee3577be23f539b0156594d28ec7e20cfb1799e4fdd3f1e6ffccc2858f99e47853891cb667acfcabf12460480903a7bcfeee87dd8f027fa796a20181a9b6177157640c66170ac63782be31602a64c80222740a181645f4ba500990f175436bb0473f82fefc03e435ee9e3af499fc9dff155910e818c11ab0a607c69605db9bf213bd050b3f8873f1820736dff8ced3e341dc8b08e79714d39ad146f61b1b67eab684542cb5c4b3a778a2e2b7ed9affca1861865981bd9223c9ac5faf376fcc7c77ff9154ed6191c1c5b46015de08226783b55822d020faeb533f660303dae2e406aef33f63943e3b98a718df3d2dfb905a7b67f7cc1044b76bbdd503f46307790cb4729fdea810aaf367543fb9e9919c732a13d50440b9f7381024c74cb01b3012eadf09bd8b45601d4e10b1bf0f81648989b803b29bb001c858b7d8feed1f42491d8228b636a87d1e61b48fa2c5ca962322b9411a33afa0e5d0a6af572bf45b764fa34f143dd89494755677f6b8f3a0c503aa655801b9a1c91e0b3f5f07feb7ea97e2ab29394168dbd1cda6af72c1526de23ba4fa8fe7948083d00f62e622e744ab6eb36633ed7edfb8d9ade93762e15f99d74f4135f2b6f555ebf6f6ec03f15dd83e44236f3380e12e4bbf634d6cd3d9ff70106dfcecda4dd02c7970fc5c8354b58ec180e4bff6b49b4bd465f18843746b2f62d027ae08c5c19cdf434026deb726bcb41c2722f21880c40f1434af6bfb356cb7e42973a26c41ff5b1fbcfcb5f32a994120c745b1e1180095393b3486aa93188ab3ec5d61ed81e980a1878d39f1be194ca40741e5498989daca98da7e7a0e9f3126e7ec797d1ed6dd0d3c5b208beb61c27108bb9a21f37e6217fc8073a0fc46bc4513bd14d34f36cd3d068c772a7767bda1eb077350199799c6ac06da5633366a9b1953ff55213ef5a24f43c166dca2a67bc1862eb688260c55f7e508e93569eaf0a3b432ae6b612be7c6941b2b0d8b7209ecf7442f8ca60b55deffb95166843e632b5c8fb28fef4adf9f7db953280ee6a1f538a3aca45502becc34af482652540a403480a28596d6d15c75376bf860337d7a5720cd193341e946a5446d84313403474e22716f9a7a9d52def48c458be89ee800a1d2993f39d9ba27807d086098248ac6cb2b7869aa6f363a029f0d7b57499a3b89598d99d3020bfa259099580de2ffc50969f2da1b620692fae08107838dad3cd558a96fc776d2de7cf8a57c328177c80251d1097c7a7ba2faceb1a59e223995bd9438bbd41bed8a9f0b3a177befd50e483b5a60ea4fe22b71db196a9d38e0c88ca96156ffd3de5933066061b4d134a4bfa35c7c2bb79cc77a10d01e164853a87a0c68d7e8f744fe75d6b5f13926e3947ea245ddf1d3acc05ea782d8bd9d853d13e93519e5c61f04185135bc714e9faff28471513598ab6b4d66ba227d4d96b0006a274eab1dbdf75ca54de50c403253099a3efc68081f6284046675a7d6b8cb50fe16f31e27a95ebdfc243536aaf2b9cc1387e182515dad342abc0750c1078055fb39ca53c55b593b1109f47967207349ae87085f90fa06d0d3f40b6cf02af6d65fdf1b3e7899c0e848741e1600880b998400d3efe0c5637c30063648de0ae0ad896f7c8bd14b2b109e62a06ef0afa7a8c1ae3300bcae541c8cde5143b837c79e25797f8002c44cfc5a288a3b3033b60c8b09ebeff1ec6eb69a2b1575324ce881632c30a8dc491455fbab23c7262e4b14d5db6b9bb41d9e4de0fe8b970a4e059e3eea6c827fdb77a826b3be930bb9fc02485431260949e81716ee551125e6b026958657baa70c0e1d989de94fdc60bb4c4d0cc54996f63330d3fecf2ff02aae885991e97f7201dc95ab8116c594a97e6b084d3ff91137e4c839385bce9010d291e0b67cd24f6e94ea3d169aaa433bd8ed95e6791f057db786f45c8ac679b9148227d9842edf7ee50156386e04c4f48f35e9049b2e7dd899eaf0d23f3458183c05bb0daea426f34a2d99225aea927b1f3e93487bc2a3cdb08451b4b1a70301ae1b92d6ea7ca872a23f3ba2080711d29476e2b9345616ed718668cf0a5c2f12f7874b0bb3ea41b4a3058b4351b37c0ce5916fae3297be937b5203db0fef04151fd6bcd69089789f8f602610d1c2e024b50ea59624087a8c459bee9a2ced5b59f285a61318cc15bde27c223d627435e87225c9d48b07407740e0300e88e61c23b36e860a41fac810ef69357e74678108c885dd2fdfed3726267319da7a5c31d7ef613d3b655f75712dc7a6d63c19a2830c2be4f9eeda614a49c37f40e588f863b85bba7f411061c0ce3a568a200738e51510b4e0d7af897ce1cd40a83a3d8cb16fdb5437ff5b77a5bad73d4ff6a4a289a602091a040f96f1d08157e64b0ed8f9e064957ba739ce9c90edcdbea44f79da0d28959a99186ded8fdc98f804df62beb4d428437fca919659b64159e7ce348c10a3ce1348938f607eb3eed81ef19c589e4bf17fd9d0692f599a8c1b14d37394f49e32332e1874eb71b590a10d2ce517bde1dbe1c6e48ab7fcd2a7746936332de86620cea49d97feb68fc664ed2e2ea1773a6321621ef4d17f10b6bba61ffad14787ef065b3c3c337fee5df296b383716baedfe3ff6d544126f9e00af718ee091c303ccecd1da195023fbb73cbc585c79c20aeff63935a37066831f27b700524b50df347474abaa981eeb8400af7b7338e2633ff0281a645f8c17673890bc7180544ae0ccf855690fc3cc2ad9d174339bf0529ed854221467a4a4a1095bad4183020547375e57e76e2f2fd55e888256f17c0390213031c0e1cd1b09572791138542a69c8ac555daab1798cb84283283c01df11c6481449d4ddb4f282649c493e5cc67f50173675a094717bf729b10c62ccb17ddb4a7f3f46b0fb0c9ea21e9c15b4ac94d9321ce564894eae9fbc2a9db8580a4e275c5aadf52771c8acdbd1c907a2d3eb6191e56a439dc2b0759af9dec15001f6b8295b92198683a7bc0dba700ef4395c87ec3baaaef2caed1ff2c29315b27ed5afaf2c0b51e739c2d5a095cb13c1b6a92a460a9c15ff04900bb426116e01a3ddaf58a8097d385b1bd64d70d79446a951133efbfebce76613d200f537fca9c9ef96db448bcb52c4c9d6503fdc0343eb05519a756ae5073296bc5488cb51b9a41c96361b01f1f90dd0e0c29667a1570b015b18579515733d7cf2085677b96196206122ca9ad10fa6e823f6b30dd56d25662e07ee8b351b5083d3e002f50147e21630abc422937779ffc0782c0b1413db14f7f410aa50840c32ef7f940f7ff91fcf40a982f0475987be90d94201d7bf1ec2f384f16f68852b23b4249e4a4264da2be7fcf5567c00db580828b87cdc5df34d6b59b0e8b3b205b4b1658ccd945f02685976b8160a3416dce85a003cee57820f518ba005b0dc1e3537f222cd585e167c09a2e35377387c0d7e552d7142a17c1ca0c0fa762538bfe7e40d3f4f3e9caf7af1cce8b9b7dbfefa41a4374384c5267b34b04ce1d7794ee6091ead58289ea32612418b00b5630f6133c07a1a6c766501e008a1100a6187f4c5ece6e72454d1a1c0317240ab29770b22d54f93790b93cf13e889e6c40f67ea461484984c7fcf732ecc9279db0a6d2788affd590c66ed5257adbf35afb6ff37fbae82634cdefb398e65c6620d156688a428e6574f168b29f35a022305e761a15e44a773fa930bdef17c2163cb4f3da50fdddc77dc5a30fb05551c66e3eeb50f93da2490c2b183e1eaa2cb312670bc3213d0acda74c99a39cc50a3d39cad69ce8a56647e1301ff6b4811254994bad7a7cebbedf0fc26c40f326f1374a206549c81b6fb4adc59323c097b1ddf78ae5eb7aa241cf1a6c044c278507bf89dba7fbb6e12cb353206c2a0e04d9a0487147b872a31fe8e09132830aa1575e9743a05512d6b13c8f9d7e10d2df1be1e8cf324c4624f59dc0827f303e02d5274722fcac1889e5bfc2965e3a7a26f315ca19dc6dfc34072c6e78bff7e6a00568e2a46f9d2caf1e9e2eb3f51c36f00aeae531941772528a3cc3860f3cff489c69de24c611ab1b8ed12cc17d52edd2cbfd7235ec143c9cc8c29bfc9404484c182d2f063298aa31a39e613897d1dcaba80dc2d69e04d960865cf4fd3b70f6ec7eba79df038db9c9b0ee8d22af7d8da015ca9660012cf2cfee30c225dc78aee03cb5f651dead3780b628a77cbf3b8140503932061acb4c2d2d5d440a220e3441f911ec504c3e442d298e3fb165b8faa254e98a5bb271d835d5508d519db34fad9a603471bc6e49bfc5d03bb885d47b41949c3e89109ba681fa48b2cff7dda17ef97ba54eae84b34cd9cef5b666cdbbe0d809d97c64bf500e66ff853bca097da75490aea9f0e2f1f7f789fc3ad2a87e1cdde04e462a4fbcb3d6de8969cd47527723d1297e9064ef88970bbe3f5e52b02c1b6f57539b61c8812dc7284c7602dd2ae71bfe193a44a6db8139c1c09d06966ee34037fd6933ddff2e9277263ab3eff923c8fec6f3716bbc25c9b7414e63f419d94c5a80146a7e57221634cfac25960667d9e3c33cec08f9f6dffa23435918b87565938b6e8bc788c69a274f0e15934017cfc32ad5827b34098f33bf2e57f5368bb1e828f50ad721ff2341682fbc929fac2bb497b58e4650b14f08f4e246fe4286fa398d2f0645c7f6d33af7584898747bea232e8637bc4f2370b6f270d23dbb06ffefca7a85c08401783494780c56c85817084fcf4e086e43bc5de165cf11e0dcf3dad0fc6f94b2551b47785d2b018742baf5dc1197ae8db635e385f858b735b16ec84fd586d7709856a96c23b29c098cea166a3bf9ca86e51785c88c49e6623a3c2e500f31e163857ccc49c1b4ff1499e50b968b667913ec5164059268371be8a9bee77d41f1cc03305d6e062bf8eafa6d184ddb60dc35d1d7bb1c19ae305587a85607572f35acc1f6d76d1903efbcf9bf382c0a49cb6e39b1913e6b87dc4f2034f6628391171ed5729241c19c6324049cdd12a1cb3008bbe7042cfee5b10342fcc52101c7901d62fb123b4e4a90661eac7dccfd441e346cf89a7c76e058a2e9b30dae76b701516ac67fe9234593781d4d738980490ac6b4310d9f962912887e7c9de0b291bb700af408a20c50f82210b3a9bd2291768b7c17dae3e1dc404113e9fa582f47f8e8c7846a9e315546fc69d4ef78b0445c9b532c7507897e21065c87e8b343d454d0b825b682615f889a64c96a4df22fba9674a831cb541794470e05cddfd30e34950f3c01cb15b1276aa24b490057ace54e6a196b89198a3b3b8f3af6886ae0aa8956146c5afca3e536a1772affe0ab1cd65eece5c1f5bca407169b2497d864394532ca3626bf450e405941c74ea64e6831b39a39fac7a771107f735c8e71727688e72f4636b043fffe82b3e4f70d14bbbd555eaccfd51d47d557f5b9c20c22c97cf696b20b894b3e8ecf9c1dcd31bae90647d5c83d9785ec01134a5be3feaefaabcfc4550bf706446daaaa6048888f658e8e2537a0979bb5d0ee5fab95c9f0b999b5c79e54980c7725e2d596901aa7afd0f9602693a97fffbb5b6455d99d05c46ce0775fece6fe485ab6d36c2b9d3b8228543cba5aead2d55f8e37d583de9a8b15a0c6c203632ebefaeafc389f53e7d6389a8bbb6eb4452977a63222fadc77a549d86919e78fa40b5ef6bc06bb697a15b021e359a403a9615d1fa45be5a8654bbcfbc0f46d41909ee8646826fd613e4fd7b236f1acae11a5883f8396a4edea24099604e8e80bf5c2291146a6262406118063e8937e09d3d4fae931b0fbe97c254abd9574e4ce7845bc5a801792d8d1ed633d2bc919129e4dfe5c9a37af151b6d933b10324bc642f47e9efc4e223a755a06ec6d70aef2a2882098f90f51af07e1aae8a893841228cf188ea2fbc3266aeb58124441ab3c3991d715832f053c1d8ab7e5de57f03222777dd1990152a9136c86e5bfc8046dd15f0c6be86b86896f0aca6dbfb5c7c281cc83cd9ff11cfebfe65e039a55d4ad9b8f323d6a1215c92c18e5b2113605bba505dae076272a6211d332faf32d465006efc54399e7b270a359f9f24a26b5790054cca98bbcf2e5a655954c5b89bc1ea345545c8552cbed9dfc3fa025dfcc4c299c674dfcbfd3cad6898fe4fcec411bb1917bd21fbe052447fb21a137c625343a6afb7874aa7b7f216244bbf428e79f4a255fbd652bda0bf218771e4a53815aed77e453f15fd48cef833bbcf9b47f39eb40a202071f706c00f22f1de3303841196657a56bd9f4e650fc26a9e504c78b658db3e5704160337953078e68b6c9a053cba0879581c359777fc7469533600abe50bbd45491f00778a719fa289e33c025068fd60518685ebebd009a41929e2dde44296b0a82a626ede5a0ff41646ff837e20225a1bae1b193928d4f0c038c0405fe5897c3627e49e6c6088d984ddfbf8d89ecebb316ebca7b758831bece08f1158510b2c9a5bfed25cc51e3f9b929d9e2dde0b423b9cda18e08604e614bcc05a7082a99fa2951391c4bca64a94b434f5a2320e67336406c4a3580a868d594644f7c9ce45e6c590138e7b7c0f9b7bb72d37be5377509ddc18e50ae12a568e0d4045269d9241fc71f07b0e705dcdf378381b524f3f43c60e0f7ad20ea89685cf44710ad450bee5e5d48bf0aa7a70930d29370331ef18fbcad270afb590ad79c7c57e4324b5562de704b0f8c2e01f46d25be4b20b302e28e0e13101819b14e1718b57bcf021035a3e7ae56c57a7f724dbef06e1636efc216afb841d80316ee31717c15b784cbe86e948506274c08eaadb5507c47dafa2822f8ac9b9f0be9949d2af71e0f63a45665d2f8ddf8e00b22baf08a4d3fd2926192829472da556e18deec723a74aafc347f97f8542c55ee51a6a6864027bdc6c0a8f3c5d2d807923045134869fcf025f5581513f40e9fd611037c5d422fe30af2f84fc15611da3570fc04e1b9bb586bd70b49cccb86a692a0cae1cd858bd0a1132cd4198d6863f96a75da4490410782c5f196c12696b48d33ee651102b6d6486595fb6ebc36e840a9acd7c11b838ad3ff5104e3d1bb1617e48baab4cf63241627ca89bcf92077666f086a76138a24862f815e1a0943a503c316199a4e0883d553e28f05f2d63c90825c55158590c1de3ce7ae9ba0c263fa8ccdf122acb5542c60bd73ff2d2fd5cba4a1e41f275b8b49ef28e4f6c2afa394209909cddb56e696fda3ea96a5955b51ee4d1415d0411d5756ae92567db1beeb90544528e3fad066191278611d2f93f05b9ea3bb234efe450f0876f7f199b62785736ba60e7d0783cb080e9879382ef27b55ebd4870f9a93b1e3b50bd241ff8638be84cf6eea1caba54f85e85aa4275334f7929b86cc4cbf795954e4936da632bf069c0221c2e1232ed8f0238cf426742413acebc389bae2493a0c6d40fe7e262e723c189a3a931a9ff9094eafe81ad75f4dd72398e5dfadee3f8e12be25c6b277051a3d1ece1b07119545302ae325717c3bfbdce423155fd732cc07f93518556eae716c8d08f81b287e0a6fa251755bedf23d43b7a27aba215b484c3023396e92441736317b87dd64d2fcac542797ec5252f7bdfd01834ac77dcdaa13f3ad837aaa02796c8d01b535a8f9cc08603dda9e20146fdec2b4d7fa823ea5320cb3bc08f5af8121b557acaba0ac7b61b5ec9c7b3d5a98b849599866193f2002a17f27e32c03bb6f3c61009d75a041fdb907fc0f7b29bdc86f652f08cb9d6d81b5959035d1c37b6629712e984c08c1f1bf5996e1cf731ab815b7c3f6076df1f9d23b830007753094466a95dfb6320290d3226e950f186a1f29d046a9ab88f721c7671b6a268ca382dd81cc6eafefe5ac1a7573ee72fa37ab82bf5409dd0e6fe781bb1054f9581094e84f7583481f807ed77a807014a90e7dcb8ba213cb459adfbaab24306781a56d4d5bb994d395a8b0d23311c11c078a9a723a11413c722ffb39731a289d015848add23f580a79f8007cf9b9f0b24f2d9cc3e5cc5f6c15eee1031de8d548c53f09e35a0174138fe0378d7b6ae521977652f2ca20ff8488c4ab3830ed46d2624887a3d756e5bebebc9d24058cb0f8612ffab2cbf44f76cb38983fff00046ddd496c157209acb620e500e325ec5790bfb06806fbf6c05aaedb45a61b5d0d1309a3beffa65e05a6ab6b524000a2c402a97ca03e9829c9f306a83e00654c06f8ae202e042ec8e571e0a9327c5a6407f8e1aa517c2e20f5662fff36ddef1df86ce2d5ccf64ea23e6e9cf882dac7257c5fae13c782bf7b67387c33e1f87c0e925e7c61cdab266c1e5d5b30177418193f5b98f5fd3037090f6a9a744ce780f87a870fb196259b4b453d993ec226f2dc2869681de24614ffedd85d3ebb99274e34778c9eb36313c875afad6dcc73df6af43fe5787cca343cf6aebdb2aeda18939c5362b8379453d129c91f67ec4965eaba3daa7e193954758da897f56720d40061c9a7b30c3d4b7c7ddfefd5ee61fe5c4dfdd745a0f960b9a62ec53c70f084706d0982b4b8806f063432aaca9d50da9edddf2c06d9c67ec084c428ef3d7e0209eeb7275d46422e610f577acb0056330700a0bb08892935588deaa1341ee99a7361dc79557891c6af3b9f53f6bc41955c5ab3bab4d35a0361ead80047ad1203fbd8bd4f038466c96be37a179c18a5537f2669c4717e3358e3ff8eacc876c535ea6fdd2c9e3c6dfae9b055377c669b642c0e9e56826524a83f52303cfd1d0b626b76c5582e9ec63c06367404cda6af32ef1a6540bad17de4d921fc6dd9e5bf211dc13620ef6c8d88df35b46647e3cdf7b5b0d39f5fb2d1cf30228a10fcd05e8ea51054ccaa6d9eeef7169ebe4bdf8180d50af8260da23c72c53deda47f340af5c64e7dd14e432dc083c37fe22290fbde9983f462f3245bd6e6ba835c99d05c33e0ac74ca412de50869f46e0313b35eb2eacbb2b69da369d4cbc64ba78af00580c7bdd9edff3c1b717530b400dba04641aa79ca1e2c199835404c4daea4119e23a12e7ada18b74a715854e23d30fd538d27bfbe010f50a553322ba169e871aad55c36097647563d35fb66649b9f7e01e09c4cfb7e0a318a4c1ca7b9f89eade0fca8058435da3b70ba85bfa529e40fb9e5dda77d1b11c2724ceb4263cc5989c5d7f25f28934c26855e7cedabbe669a31243c80bdf15410a72a46355d874a693d6a6a9ec7884bcd06c91416b52ea02ad5c3dc70dc35e7e8e68757a3e1b2be1cb82af3840d59a2ad07a7ea3db0c86e47b7c58fe22f41d75dc72aca52fe936f5fe7b773f8986825ebc19df72c78b6f70603b5c11640f6ef7794c13a0a008f9d75a021ef6b609362e6b019efc403a870bc136a296a70a548c92ba635bfa7c2a17e5a2ddf07ba10a4812b0e447b2c69c3326313d9b0cb91b4a5ac23bd23561dbba9709ff9d377ebd2bca61de86840643998aa1d9f126fbe50da5692773ccf95c579b237686028b524e6401a51593e66feb96b117dd3b60384372d9594687d1c923487568368ea681c07c87d86b0ec6ee3f054a53ad31c01ee034f979989690aa9a417dc312dfc17c286c0224bd0be08cda5ff7e92ced4ac42867faf0dcaf773be5c921ffa9a12306ebfee93353dd0b26045d1d172fd8b61dedd49ad855b28705162b57fd3ffb710a63040554839e61cb73b37220daf906367418802c178f81c41023ac11e8685bae58248a3c71a0b87b886a96e8d87c639b9ac9669492824987bd6d62e13819312113a387df3feccaf2b15af81bf19581bd5c14ba93042f9a1696fee5f308798a0919d1ff556aecf3212492ec5e14a73a2244a41de5f975f1e7fdbcae8395131487e94f951e37ac277034708a1f9319b3fa471f56f9a0c87dbe54bdb292128ec2928fe397dd4918cb169935ce06c42066734ee3a2c05c2d47b04c6d6e569dc7fcf54d5ae2b227f7b4f3dc254bd6e76895c309b841396015efdd53085f3d7c70a7eb9d5fb275fa438e176c5998f1af16a546925b735f1862cb034dd40cc98c7f45bd4b22115a358aebe30dfd434b0459288f09d830a83dd75a39cd08a808a2e31a6ff708608c19d2ceb3a0b333a80e557721956adb1f31a61577511dcecfc51e012ed96ecb3f93a1ec2396cfadd69abb4bfbf13ade0846011340f70e1cccc171f125f439c0f05934df9df1b24602b7e88764b9477a73707d90efa50f87e54f7f24daac9b0b2b8fcbf43d82ba6aaaca0b7f59dc78aab3bcfae8c22738b6e7d65ac20f9879e12d20767d8578110b4fa13e9f88c6040fb19ef8fe23576a98443add4e559c956c340f10706cba58233a67c092a7bc61161e7c33d359d1a190e2403e67493d50dd5e0c9e3af2466fdb3921a9604f11df017c0eb39eb4db68bcce22c33e9ad5ae47ed88ec17de47f178f7f668164abace37eb0537ffd4d4c03bdfaf1d619ca9f5c95831ede08b934e53083ce4ff2365a5fe77628e072b50d02f28079c0aff0ccebf48baa69d345828b467b9261a4b87e25af538ce101f05e6bc45ba8162cafd4c2f51f99672d1ae5b958f21c27d83cc551f505f8a75226ffc0436d60387939a9d239a0a6ab0aab94343ec5c583e1074d8838dbdb34acbdb6a88175aaeb2017d4d4c833603ba2bcef161adcf8f478aa4eac121c0ae5aa44f3fa3ef13359361e6ab78aa1161eab1d2b623e7e56f5482b0e9f13ebdff5b9c00c1e82dfcbb3d30f0a485c114d78b83454e7ab85d7cb81bdceec6951daae2956a067d7980dac3a72d72e76082fb0fd9a244f60506d4ca6b0f22d14d8f0a7f7116466be4520b4e209e4660be0d14b1d6e7d6b06ac4a61458ee28f159cd8b4f4776ab1258bfe1ffcb6fad454e268063513e796dfc484c9076a7b5112fbcf2316be9b11be9dd582f36ccc4a65611e30b53a939938ec1f8bb7d349160854eccead3daf5fb6f9ee50b72e181f7fe67f931ef26b5d1f14dad5da82d087aad5ff9fca2f2248544348b8f0a54b7840ebef5e3890c800f855b0bd05ced2b495280452cc113c33bc05fcd4a7e7b1805aead1285ef0eb0751157bddd9d1bc96090a9af30e749533c4240a9d48f41f081a48082bc5421d5c8dfdc1b709a15919eac908bb656aeeb73bea8d105c4c5663cb94385340100b18fb0d83cfee017be9c126e2d06822f3f420c2805ba5ee35ffabc2fe7e96557371a1c6bae9f72bda2174b32719657c36f3d9864f06e5fa4a79b0965b8872d8d0abb8dd406fe21a54f7d8ce8b0782b1ace03fa0953581f7f8296fe6c6750de101aae42c3478aedc6d04830debde3a20e80a8f35784cf76f600339d9b20c3047f9b5d478d2ed3f80109df247f6512e23e89f5db4fc4ad7a2ed6ca02a416cb8b6819cd87e27fc935ddeaacc5b5978c181e62e44090c64cae5ccd67be6c63f99299fd236ae1ea86ba6a3517923ad116ea29c636f148780a1176ad21f53bf9203d670d771678e1e57b77f2b7957cf311387f1979bf02a406982a50d8687b79161598e5af77698bbc117a49b12b0cd095c31d23c25d96318388a58dfcd2982d39170ae4258a34e39947a474e263869b266364fdad67948eaf1ed690398b34cc7c7f0f15ac0a87bd0049043d3286afbd29238b2e2be9e55dd7db55aea074ccc303805ec2d3c5f09e3b3af18534ddac6698d8f35bdd40d44c6763fb77b8dcf8a993904f187d3b7e2f6ffae07a0825cd3e268a6d6ecab5e500445fb3648898a4c61067766f1f95d5b2358937227ca1851783a00b5db09c784474c5b1e16541a95eec0b6f75d57d798b8a90675365f65fb6921f9f73f4d125c0065d4c5050b89620b232c5ecb02a835ca870d0f27e3b185feb274abf1f05ddf83991f09da853924042815d3f0aaa1fe41832a8a1b0aff324acbeaa38ab2aa13e3d89c52e39342242dab792c031836c41d7e7ec16e815e400e05c4d7137cf97f4dd2c5aaeee7012bafa9f54933cc67f3b7a2727ce0ecc47a7007d50098003f844a4aaed4ecc41ae025a64c88c8d7edaabbfff7e5716c203ac5c18bbe0454299d54480aa679e8c73f77ad464173c43e6c7430c4a89662d8efde3104aae5ce0fedfe43b670738dd0bd795d6b38c6935f0760f627664085f426a8cfad94e26df3b3d94aa25c8447bb82f13c5fc3643a6355ab7c7a787b230541d6ca123c5dd2b43d33f715e06aeb8b71c03eb22e5f2305d545a382fd6d2cbc3bd4baba8daed08a26a161fe83d2ebd8ef01da102423d55db3d45381a24fbb1f8d091f593d74af92edfc4820f9da87dc451e23eb4951b129f55cb96c09a41a77cd46c283bc2ca67f0fff86809fb55d4056c1203334f3a1c5b92bc54efbb5969f65885845a1611d39862de4f5224ec3ba811ca4dd27c58815d23ba906b1317db8d0bc7559ee50ed203e8a31835ae8a981d44c4a17fae4a0404bc863cd76a7fa4488bcf79b678c3bc84533aeb9c298536bb3ee398fd82d7126df44c1bb689935d76c7ced00feda090b450d2fad363be0e282ac51664d2c9260f0d88bd4d135d6667c5730c9700eec86c154714c7d4391bb82fdc0eb2971144751b0a674dd482276f8f07b58c3df7e973b5bb1466472abb1b1d4c9f4ab3a615b76fe4015d6c95a2a54b7b3929bdf158c2cb5648b5fb3bbcfeb4599d0f93f3e4ed359350aa417aebe4e661642072bc0e27b3848b4f86d46b82ec2ea7d444794702aeeb9b122c61e10245ae526c98b2e312a1dc05be2b7b3c0fb6b0ae525009fda830732d9b3bce702f2225d2ab54512cef39e0b88e70648c38f79d69303c8875f62e9da5200566f4ed3b5f2787881d29aaceb9b78695f9a1f00f87fc959a5f4f31d37bd7d6ccf92b7d73ad89d46cccd6ee2273f2cc8fbc9c0defff723c6d7195a12922482a6554d3d190e56bb79502e3049a6af1a2fb736eb2d2e838a75b0d12a8dee3ba7ab755ec6e7523591d7358f29ca7dafc79fe0fc0088a8490cb9e839d747cfe3c57c4c1a9632cca9b1c4be8c2aff5642135ecbdce105b8e32d28bb6b021c26dbc384fbbbaa1b58f54dbd16f47aa03b832874dea62a422489dcddd95233e0644ce795e47e27c76e60c2a4df627ae4cbc1febd96b248487f6643c84bb2d8890e5a2df5e18d3816d35f99688652969439bf01192c28a77b2e9cd6884a523352da1196dc3dfdcfb818e2fb959755baba4310d3a119f179b014444e83fb67c3a3a75220ee2b4c0d3583fbdf9e3758d0c3e4cdb22223c49289780c88cb206f3cca7034298b5d7fb51e48059390312d06b55c5d2acc5570ef0480a7ffdea701e6f6579f1e07fba5dcbcb77ce90be57a8adb429548423632e28190cd1b47934fb11af01264b866cb082d91e3c8d82c8537a5cd3f5f869116968ea5125462f788f1346ab177826f833acee556d31f669bed73b486a715e40c06fcd95a93adcba0ed8ea28872dd3518282df039a2681c0780797aac750a01dc877978f304119bbd976b5d79d9be72a4501ae1a9d28acb1c23dd6fd917109f1764f9c47a772ddbdc67405db36901b97a192be6532f7aa9de11fe5e7ae4f43da06793c8acd2d3ab14e06c0e2c17a69c27b28d6423356c1b850da709fbf567df9199d316d5d700e0ce4e71010c83ba060737c0fb02127688976ae847befb6d1a3d3dfbac582f58226cd3fabde85e4c5f83213bba176e5f4c202339e3be67e7ed980ad0cad6c7ed8a878607eb51f34b63d07babc996b8b4d1a812f7e0800ecfbe0da4e7f8f930ab4057dbb6522bb502f9ee9a3b745656ae5f5ab58928ab7294bad7ff4c20883c3cdc99f17fe845153b192178acca530a09a3197828e02d1735f65da92936335d364e47bd3a090e48103822c701b45e77c8d8952ae81ad711a5730cecba228a0c5a433335ea30047950fdf6365fe68c6e9d892f254d65ce033430a98792035856499077c4d034fbdda5aa26ac15bdbd2f17136db8833a41785c01a91aee5f9580ae00c94f6ad6f437b35c58f318011bb07e392f3ed9a4aed7b7a45bbd4153cf6c313215064f38ab615b15e4360043dfcc0ba9d681b2bbc91db09db9a3df36954a0c5a6fc81b975fc0444c06105afeb3239f572dd682ce1f21f189bec2e448171d7b4097cf36bb1ca50744fc6bff637e8a0d6815883e3d9c7359bca8fc86671611055f5df0aca174d45a8d2157e223d75b58c0186ef18606417e7400fef4e9d5ac95d6016e9bd2f487d8928aa70db4fd8f2b03b33b24e4f30b8104574d073c72d688f3e2b27c1b2c3b8e7409aff3e44d0a9c3f67c229c8305c6b70c359cad65eea5a943716ea5c7201b1918a4829a41cdf3b170c86d91d147851fa5f4c7bad393816876e05faf8933aac3bed66d08e13c5711fbf6575c0df83d3ba453035079d5cf7e51a78209a2cec29e4bba9d554b5ab0a92b24002e7557ed5bb7e4f17674c685fc4ba3831becbc5198431c7df9ba9c615913d30d96e4a92e976236f2b3073ac20bf7d4a667a3edf8f4bdd63e650bf9acab0b0f0b242c070adbe4ba5c4d6b430e019591267141f346dd5a452c6b990237276ac53d4bfa30fed614976ae2a333ef1b4e4425a92bad9e84f5a4be923761a40b15a89afe2b2e38273ae48f3aad6e2b096b73e84e27c758bdc79282f678759abf4ae276e1d3c4affd9b1faec2c5bb5a5db57835adb70486f3cebdda595fd272096b52fe2811e579a553f3e28cc685983581ec087eaf5be21e073216ee949fd9f65d482b4ff456feef77855cb0c6ff8ccd8754d284f3c91484e1eaf241fc9b191b37b06e36106d39287b5de08ab4d2f11f4988172a9f156f9528369432e3c5b581d64c9b4276a93b43547dfbf18f73b84fa506ba837acf7a260229158cb9514822dc223d59fb07e47259765b78e5e03fdf6d84295b99c9db203ee1a1b3b4b96b04832adc01b5c74799de5a4d532706b3ea8e584f0ffb1e877377fc51085f3d6ec65402973a0cd70a95c4761af7372d701d6bef6f80b6656febc0e40f73de7f54a21169d21588a779ac6243ca0eb25966b7d5ea2f9a5c9a3518af77a3249d7c2daf543481d40b6119e14428f08506e10f7d557f0b4f33674cd2e5c351cb2cf412ded287f3a5bde59d26e937ee71b80effe640c217c4b645991059cbdda037ebb3094b6f2484a40ebba3c2198df2b587a8f6abd68857290dc346ddea3ee4c13f650a5d23f12a27efd4507a5c40f8194bc819db2c857565b178a4a61d916277419edee9148fa7d83b0cb2497a5984709afb1c9e26fe1541013fa5ff10385ca76f5ed2e2c425f8fda20303edb45aa4135a1c2173000bdf16114b2f722a6882def63492c1635c5871ca497865e4fd8bbe6f834135f22801b3ff8f134b16c8919352e9feb5b70ea87df9fa9cdf0ff817dddf020fc4040c357f7035db6d59992f489105707e8c4289a04a67cace0878bee44a7834cfc3b96da5918e1e0b7d3ca6b0b7d760b387087e55f0e1cd3488416ad931571d910a03ff3cfb55abd164ff7874c1fca56694b83e62e3a0a8f3b2584d86e4e206bbebba203796a4f8206cdeac32b2b7ad90fc171079815c11c5cbac694397453f99c647f1dc137f05d31130498f13fc52fd690f726dd4aabfd16e26c3f418a1680e08e8149aadbcc171a805ba23b680b93d2cac00f79880dd78a4a89efbc78f4d0b7b480c6b67201cbe03f1fe66b9d9f011da7e7654b7207395269d084a40e820ab9885f4d36cdcd59f68abdfcee18ce4adde0e866ee492da36d4d47796cb46cfc66a80c21566d2e4b3e5b5cf51d4d996c26868344e8e2e01449aae337b825fad4c7ed0d59601b747ddadfa122c78266a4e19e9c2591e83bf1741652e859a0969347ca18d3c382661bccbe4d99ee69df47f6e672375696d70da87b5bfd8ab1b782689e11eab6091df926a928c6af9f7e9ba4fa5461899236c44124e7cd0a51efd28e2ee0f50984535cacf3638bf34d1a30ddecb14e582671cd8e47fc6f8ed2d3b68477b21bb96e7012ccccae9cf238b928bbd2c64ff25a55b81e484c1d3737db8fe51f532ff9319c6e4ec28c113ecb705f2c84d167a38729b721c76c9d8a19ea6376c33751c09cf4ed1cecf10e7745dfd09a044f12153af139db16ec07c0a30125dcc5a860001a1b972e88a3c606b0d4a77200689eff61ee7b09eb2c86bb882f9577557adc6767885387290e9ba48e579cf771c73558113bd0b60c94de18f79429c3c512558367a8b7c60c0e2ee6e241ec3ccd9283fc04bef8252db060882e9a06b9ce731958004d9afbb96b78ffaede20f6b7d15e99f4a73db1a79edd55d62b3b57c2a99d25d3000f50a59ad2dad41f64b93185bb23de64374b018b1fc160fd00ca145fb606f587d5370120afcf44727db33a3b2028f28e3caab274dc3a5eab0b016f38427dff5a0194f261ba511a884aa9346429b4e9905712e11174a1705d59802332f09c830b04642e5f6da9b2ad097bd0a947933556cb2e5ac484b0bea701b4243ef9dfd3790d62599ca757f9ae2eac13f0017f1c321f1973f70fee5b7a71a43815bd75c6e905ef3e3ae2b286e1f5da1d4bba569703d03d224df7511d59458c7f6cfe47b217ebb0f8e8184f241e9a7a65c2256fd21c44756563522337833a5a320a5dff9ca16fdb494e4031429e0b05c79e3c1072e823256ebbdb106aad248fd9bd4a512a1d62697b7981d9b69db8f1cb952d785db6a755f2b39182397097aa6e7c1f08e3a629ec13a833a5c5499ad104ae7c1d831dfeb0bae50b256383a30443ac6778bfd31d527678f05ca1de43ce37b366f55c4741d262e6ee9cdeb7fedb6259d8e90634b0d43d4a97ee16d34142b5d3b1085196a5ce76cac21d1703e2f62ee66b99d9528f155c0b0116de0ba4017c86132a380598d985e0ee483a6ff3ce85285ef41152a8402cc615c8986275689377e1628cd334390a6db62aa1c3106d42cf29ef3b504689447627e1bd2ee4456e216adfe86727fda987e81a15e81c23e20c0e10ba384296dc5c0bbf6ae641bb5b79bf1df7e4803dc9e256011b214ba71f423fe25a76b8366302c61e19c233e4ccb01d026209c7740e9c13659d62e1278f229621122551995bfa5c8da8fc3b8af27f4257a55580dcac3444a3dd035768a866f89260f8c6da6c6638c342d148fab704d773d92167f18654373fcd485fea92a76c6cd90cac45466315dccf1bb4b07bd81ca714322098b3097d46f42fa6545557318a0162c4bb49505a7418076463527f3ac5f6eac8b4cda4358aac15a0aed5826f3991d7f93272c1509889539815a6dee323e6f8a67074e0598221dbc677bd2f7903970310bed0eb01981355bb68133847243dd1c82ab19afcd95c673724d59e50fd11bb446178ebc4f70d7b1497155c66c7050176976c37458800b85a6e1e63c094ff9ee2b6ba4786e88b1af0a04c1bca90bc0766fabdf1686e44161abba66810abf0ca475242dd8d90a09db3a6ba30ff448ac95007dc69cb905f3085f9b637baddf180a6e027451467a7c1fcf3983155351531361aa5a9207d142f5b3cb95635551eab68f38b6ffcb4105366f07da2e7f5676dabecb80ff4a4d365a8be29adab2cd4c6884c67a3155be620cbcde28ca5642c0d6e80cfe2d8d24df0f8ad51b2fc07cf5f25b2028342fe36524d37a5d657b8f475923e5531969e22e9e8ee0eeb7e85c88e903c4ec140865f4ae22e2f9d43a655a5b5c73b64585733d68373fa0b9d1418d904534626ae3ffd56c965939a9e9f8d721e1f4c03a04b2472e4d2677ba14cd383865e9559f18d0b270e38c975760262952fccbfe75aecd3b8d4815f43547a68266dcedf9f4f3dac8e4bc4be95b8419b670aa5e659270550da96c1fd458f83641966b870fcbe6b879c35ad4919268ecb167108db2ccc988dad6f1bf0020a97222808b9cab8bf543eec6593370a3108da904bb14c0c2c0c0acd297a92683a134bbfbbbb30707747fe0d540e2f22349680a12cf5cbfb0b39ec83fe967db9f5d7cd844538bef01a032a2da54647673f86a27e76f47ea25771a6162833eaba855e1c7186e76c628cfbdce41e0af69005e4a3507aaad2da85caf9cd0269be73d456238e9a7a57f7cdf0fa9e8df19e7c36413d97b3f98e57e8caa1514bdafb078530869f140a01f66ca984d734d1265acdafb87b5b9ce93125af9314670c5003aa51e22f06b0f341cd9b8768aef6227c5716eb737bb108d7efa81266e6ecfcb8dccfd417617c8b29b1673bdb8a592e5e0e16c8f7013ef1acc87a02d0a2f396ed0fdfdc8e1a556a76dde0a803b4ab1d2855e5b1888dd6819221f85a62cb4738e0c3fa71a94dbd9e77af600cd5d6bd53f631c23eeb14484bbe2e6bd291d86ca2e07d5e355a619206418951747ef55657ce374db0c54d6c0a4010cc8bab26cd07fc43f39670a52b7255c41bcaaa1501fc43c01e025a336899cc63b49492b82714450509f3d92bde93a975354731c2a609bffcc270c2a05d4752e52f6133046bd54afdb295202cbc065b78f1e2b7f3c112fce7b4cb36fff8244ed35c303950a5399317fa84d771fd641a639c6b59d18bf2d78cbcc735df6e7f7f25124662ad1848580ac726613984fc7c1b181993aaff3a6373d044d36d6610a99fe8aadd169fa5d3f808a8c8fb70e50a6f161757e2486790cd494f28d0b2993e6fa0bf03db222e8f41a4fbee6dcf97e93d3d64268fd05a572c96aeb99a957289358ae768664abf7e1cbb1f39d455604d67d1ca8b6107dccc3341329a436b1dbdbb79b0498600d04ae1cbee05c3467103e65da0fa5ba3c583de0fc9d4d53e7974b4b693d5d5aacdc2d714523d67283b341fcda1e987ea1e116e32c2793c73407b750f5a040be76aff6b4ceebb7345d684f354a509932462c9eb0316c0a60437c454c9c88ae9e0d7cbe5e8715e713654f570e77464169ef36ca1cee12994697503c9694273b0116e344d774208d23ab0b463f99b7d9d4b0634a43fdbbdadb05be3079b2714028b62888e14b28c1bd5ed974c1ea90335bb1fb01e61bdd0b878d2da4607a02bddead3b1e980a67ffb84a9143c6419c51d899c2e132dd028bc828c0ee42be06418079cd793aa0617e23593d913828b9d51257b94b598cb8e05e28ad7e68fa5024083384e6f3bd7b128242ef7ca40b7553bb414723e13aae54cf6f2fb7926fe45d9e9ff37a2f154c53c4996a5d0762b00d21817ef6d12ea328421ef2de228e499b64476a8d603a08457f333a5c8e7fe6516846fdc9b644b589b60db9e80d71fd60bf5048d5aefb84fab61a0428c79c7e739428893014e24526a14f0f8d939343fcff0813da0520ce75d955bfca42b27722c231d334a57abd5879a4bc770ca505e339094dee20f7b80a4fcb05e909951ebcb536851b4116cf19331c23df6b3d49bd0a6c01a1acb6d7861c126aa863cd9e1fd02fae75ab541e82c8c4d0447e677f2a35dd9c1b6c783396c4ac11bec220cceb6bf6c0d54869391c8da2e0a2f15475c9bfef0c728163aeb73b34836141644b8d23410adecaf20e7802a144da921e4ad38347efb629eb6bf6434fa26e40798fed4a3e298d379a5dd99584bb739ce98cc755da7ffaa1915b3486e64a352165e596cae07aeec8318f8750478ff81cd964c892b521852225dfda46e44f192351658cd33698bd4bb10956b8a091d3cdadbfbe7099b93449b29993da5aff60f04ec3dfd27de4e3167a6fa67e1f20c2c2571b0ce07650b92096eccb87e4662d447b4292f2234e0f2e4dc46ea21f4b377f7c69daf21da8bef3ef554ba63b7c9bea624f7ef94189c0e4dabe7fcc3be65706e37026975887a68a31edba1a09aad777ef9c4c251815f1aa6f426eb1bd1ada1563e7fe54a66e077e178e59ba1137bec23aebb26fd1baeb1f41926dc6c55e4def6f7fe3d279b666cf4086b5727970c120221e5c87678c29beddf65ac93b739a169d8f8a1f3b3e6314eb0ae9248a91161467915abbf6889ae4eabd99d0651a868281da25be62718c0b22ca0c78cb61f217db571ef196175f25ff519e826b21c3749e9f8dd4375d9506a836c4f5e0e9aa65d6f4130ccc852e05e9f82bd3ce1f9c68ef2f34eaf4d1896ab339972e211670c6092d2f5c61b5e76ebfb7db0d02a870171f10bce74b1cea2f1b2af08aead89fd3d753c1a424af5656faa2e533558cda470ae32a0bca158b841004cf5477eecec8fe0ce11683bed3731f4b215a10020d3b6cc5b0a148fd3f9bf52f39f5c69329f993a40ebdbd22a1a91f6ede6697ee1e7eb03cf064c2b0c4c8d2910a16f393ad2993c3ee30e2103cf49722c74958a25afa61f1345ad8a9b6391c0545f317a1b5c069962d21cdbab608079c6e14dd0d04fac141eb1e89dfd8cff94ea65f46090b0b0549ac0c8e6ceaf32f55422dd428313151be04692080b599bb4aa93ef1cd78e81423cdf0da37c5b31466d918f7c369e68bf5e149dcfc50343ea8125e5e5f005101e95321ec67073326ec89c1b4910843e0b93835366b7a47e595a469efaf8abd27ce1c9e8d32020b9b872cea8700eb4965886016e200345887d662e06d25a7f7b1daf0ffe7a588b056efc715783939c1c4ca1f12d0643dbdd7d54dd022a1d7f15480cd8ce3637969e3dea3369f51f63688f6f86d4bbf2c771f85f3c169a84a00df8eee25850447ce3b805ec1f941912c38ad1c62c7b852beada2d7ff34cb9dde27ac9d4fe6e2e13772d0f785933a7efc62524f8198d1957af8c5479d03650fe925e0892fe63e70d133e0b94866a36f44c82ca35384a81a177cd386091cf0cbc43289763c2aab3d20952ed3e323bfeb3e437a99085ae906d4eb8b00686db23a991b5146ab54428be4914dd67dda824898756371489f460cc309d6f2875bc0d727c556fb0c29d213080eab09bdb3c25f827cce64b60d51d5fc334e8b755798669f1038863ba084da38e6a85aad42d9e51c58604e54b9ad8f7335ece753862c8f4c6224b941acc87999296fd1df3d67061d795a18a42a26a8ba9be9c2ece74456a69bc4094bafcc1e45614c96b10edb7bd489d206b813525a701550329694e2e6ff4c3045105dca4dff3b537f17492e3960844a43db6b6e233022012f0c3a0ee40024be990765e5c05558ea5acea6922b9b5cc61e0fffc8db7888dfbc6e0abbcfeb224048b0c700581071b6449d2d17aafe13a24f974fe5747c151d24fc0459609db56c6430e7c9913dc718711d4f4bdeb8850310d1d97e4e6410c105f9e31dabb5eb78f0441e9d0c41683cbd09d11acd43869e8861fe677e41f8937a20439df388de3765141b0b49edd966355e507873d38dc7c6d736f90ca74944c5ead49a0683e79d14f5ab8bf38177c35b958b02c4e8f9996e9c5cb2fa3cd0feab3238073ddc8c118b7120cc59931859e4e10c807ebe377ffded0bbb82aaaed0d139338e74f95490e0507dea643aebf16d56df36ef89d79d3c6da1277968266316c1883e61dec13caf8e9ce0068756d25278d18132c0d71cb60627f0c73a76fd1890973e58ecfea16b590ebca4f54c9c7d1ddb29a73428199d665b666d16a2bcd962664793a3d1b75cbb8b294a769dcdfaebffcc2f87bddf75e4be21db9780d0e4191ff775b3a537fde952fce6d095ae213b3bfcb9f5bd39a48b326a90f954c8ae6b521ebd119f2f8eef58378cbf92a6930e4e19603ab25f5f8de05ee18ec2ea45c6eaad680012f156c3f9e384ede5e6c2b3b6a6939e388852d2d646f836273ee8019c7f5e61223f20ed5d0c93ce0e7bd4407fb87552fc2a6286652574c358592f4a6e12b3e2c1bc8d600f1cca93700153cbb60f6e9b1ccea34e9942314ce73c08cb3ddd82f3c05bc712f041d3fea8b84f9a8bbf12fff5a758663532bd64e50c3e6e8cae2ec5d782a8c63822e0269b91532bb0a1e45c8422240a294afde0a6be01765fa8b1ac842e224c5d100d3e7ff7d7ac5c752563036b046cbbde62aa81f96e253b5a1dff9422731a778dbc522a6d98ac3a2d87d712e6e366be2b0614130303be63f5ed679a69122cbdeb14e5df27e82aa0b6e9731d2805f84fba8eeeec1bed6166497e2424f0bdb277f267fdf753fc2a1905c53a55d4bad9377435d26b8079d8dda31d95f2afd0e9fa96eea47b7ef09f8aa9523021c467efed3b382ce7a9b1f32b00d28a7ad7de790203439252b4de116ee6358c48e8de5695d7afaacc474086edb55ad43e6bf89a3815b7e32995eca5b2a471ed72ec5feed97a3dbc1c3b30a6efc57250c32b2898bd4d396e6379af48ab4e0261251b8e053725bd27cdc09921920768225d220650e8126fa122bb7aaaa6452c421ab89ec7b0eae5c7f8f4c190fae532ddb4c0a8bfcc2beced6fd20937a7bcf7438e7a89822b00ff6897eb3e356f77ada50217f244316a665c30830fd55c4dba6712829f448fa20a35c8c85cc50456b0e379e5372859a10601bc0c2552667809c1eadfa7c039f2e28aedcd4747925dca134770a79a6bb4feb4f31c4752f1105cbbecc991400e46634f94e6cf12f025c6b3d260f0635fffa13863fe7d4bd98858400c0a625d627e37dbd13baca7e7113825bf91fe82af4c2c69743cdcd179823b2ec148c09f818a354c0cf46504bb3248158e8e051565daf358c9378bc0e3b54eb818947a4db231d442a1481f57b3f9fc3db27a9e5ccd22c48c58096a8e1fb47883dd06380e33c9db92cfd5783dc5925121b2b4aac7a333ff1a4017de009aec591d56bc34ed56db1146b95b7806a9594cdc493c1d2f807b8b43b0dddcac715be160643b2876e21e952074256ed3ad8bea4596543fc3d4bfd2cd3d38af1075775fa33e622393cc198a6a64f1e5d08fe23840124d85fa4cc14f9dbe649df49bae8d6eb0a3a9548fae696153e9cd973cb33c7dec80c67b3950b4ae4ad1bb2ee3d94587e2f3579f3e961e47d439333a5f93caeafa1912c388d97d37588981ce3ee6d968bc6a82fa1fcd49dbfad83998312cfcf95d5ffc2c4850b5f61a38d05bfe21f1d4039833200643a51b795d61ed845e994eb72a2693ac9dd903dcf00e5cf96e974d7cfb357e1cbf0b0e720beb4723ec03bfeccedf42f549bd356666936388538af65249fee495bb514962c319fcd09015ac597a9fa09bbcdf2bb8177ee3deeb860824ab8d991137bd4b9122d66f405904ee38a9d05858e88e9cdb2aa1cb0a67ae306c4f01d1321a549526bbcd3d92289ebb6e98623b734c48fa6623e0f6ba5f0a24b4d58a9e377efa43c98f79159f8fbff57eafa809554c2da9d9bce4aad4c8c08738232fb46adbf112fe94b20a65f609d8580f13919295abbe2fba7579d056e64505ce2a683819e4c17a3762add2db71a142f6efad5b69cd7ee2fd8e020451ab8822b34aa9571f3998c4ae06aef803dddc0d4940c126c53b976869166ab42f5696f2bb4050c2b19faaa98e9c41bb381972fee79a322cbb71190b0ee7dd94032c8d179c2754c42b241b0bdafff87672a178cd9eaf3b9bae9a9386359ecb4c46c1dabd809e607c4df245e46cbd10114fcfba7f9f71e47a99c2fa0bb066041e52a0f97a7c17816f57834eae52bbcb630713a34462fafc4e3ac35641e597e97efe964c3e0481d0630358b938b3df2996bba28ca882233ad41686536240eb8da1fe77f6780d34cfc4857e6429d86d6444582456a6cd94eae2aa7bd1e979209c79d3031ccb21ed5555599abfa22c4a4dcba914fdf96522d8dac4f2e8926d09a2d0c7274cf707f318dbbe34ae7e92d7cb188877bacc617b6f95e54650f745d6a476d2aa03bbda8107e80a0a63048bd30fd30cc3d6124476db6349420bf268676a43e4d57c1023ffdd928c6a6c97b059d6e1e0cc25d1d9bd0b3bed0c7251ca0cf570bbb7deb18536e43a91d2cd61f551e3f662b7a6eca3f5cb909d60ef381126438c338803c5979d22b581120091dd568c38a9f3636dd47c8be904f36fe8c8eac746d17e6711994af051fd5853ed3dfee9f702acf3c077180535274f20f8e0ff95143d1dc71ce11bac7a04e5e73a3cd4910b587b7015e494c1b87fed17022580aae96b5cdd61dfb9be7a90338bba031bcba0546e02f3c2434e7bdc072f697f2f0e4b59a25893fd36f5c13fb1e9339669585624d88d43cc01564eed77a95170f42b8d65d66a47ee0bdffc50e1d7ec398a1768fd8643285915e47fb89b4f679b202e4543de48295dfc6a3ec46348d1e58515214a83da5e14c3b40aea4d6f61b08f02138c2370c931fbf0ed0fd6e5201fc1b6196be6dba4b18e4e222820f189fc9433061f1f3a1acbdb4bd682312720b8ccea51bb58106c8162cc0243d0ccc4cfe694f063308e100d5811d96bf95d6384dc10e8f7f4b5af36f86f2fc74b3b4e30860165f628ad11e6ab396e7f52c1570a30109a90c0d8ae3781791bab1edd2f82ffe461778837c7985a17592a8c2c3de9e6665dcc7717b3238d941075b5324616937688ceba5b91f5c2102d4b7b63f928ae633b73c638d9c4e0758c8ab7040a8c7d73da7f6400472e875a6cd1e00e537d50699c738e167ca3da30362062467ddbae7ff09c98e633ce54936eced7948de58c06b40d7bc6f84e4d844add08c737ae25f3d07adb0c8968c1a7efa6869f3df1ad8233b8bff97d47cecab0e24773a4ca4dc6fddd8fa06d1c7e756b90df619f89727f43d9452a07b6fd30fa393921313b380ffe21cd5d25f197ebcbbc931bc0c65908f0ad5bc466f8cd3c0d077e49d9756d70f51f5c4681f379a3dd3ec1c7b0573046fafb3c5914a5ba984871368eb57a74c07362584babd297ec4708a4a0d91b8763b9ab8a642b1f0a19283b6826fc980281c8d645c34715b285057020c3ff45a919e9301ec394e70c4b6816d91f62dc278469a7a7d61d01b42bdcbf61f0381c2ab6bb79617e04bbc3252b7936b94ecc74e2696f412b3977beadded05f392ec99ed05eb674ddf33d5afa391fa9e7e772a41be861010bd5e1a5186ed62b678d454886eabad710e78e127856dfe370a7f267deb1c9d147e4c87d9b45b3deb33ce749cc14dc91a3cdb78a762093d29596f443ea72a7099367229d260382362281abce47fb73336ab5d065a02d45c1e889d1d9e20894fb68bef1427803981914c7e2aba2f29f56f238f50545aef72913ef8752360ebb507833051269ea3a88ca8717f1bc510b52c08326b1a5d94956a12ed6df1cdbd36559628a60a6130e275775398711571f8d3ba747bff90c863605bae6d6fe11b6a2c903c12bd18bba4d99359a03d8c697b1fee270563eecc2f9ccaed140b39f2fb9599dd565d08db14f39b2d1d0aee30728e2732509b57f546dcb7f64118e896c6748de10a2db27e45b5552dd90eea397acb6e3fa6cf506e488a4359a5f1ae357d52f53ada6041e1ae0e57736273617665ede5aa51625602894c4c580ff4330dff5af841dc2b3e8de91636e05acbc9a77b77383a2f46f22101b28ef2ae79de246e163b81c618ea30f0ca148aa4f7f66cf4be92bbc6cb9713abf32f1bc11e78e826067dd51cc4fc09bf5908fa4d0a21d9f43840331bf63318297a98b19fc621f3a6dd9086b3ac12e880053431132c882d472763f06c6145db04de20d6b934977ba33fd8d50b32306ed11f033b71e3d4e5217b97385d6f88a9640d52334818db1b80e6f187cf1678b62188c7b4da31dd60298de88170e18b4b12992dc371c6ad975d1c5b1f587e91a4254d77d2e497eacb1a4f1c528b60850e7f4f1985b6a54ee87b60ab7d3cd84cbc10021efb31921b21bf9090229b5725efcc4cbb307f69b84a7fa9cc9ac6ef44a11c2524b44b7930f5b8b04219ef687c49b240efaf2cc191782d4c2baf7948b1556195c6ef9eeba340368f9863fc621f5e53adb1238bf3157a32056851a256e3a19d767bcf691f196e985b7b16fe003651f61e49c29422f1444b32e34c4826c29cc9b5c1645fa5daa1ac9022866a2220c8add798b8c1f55434cf18ce6af2a6b29f6789526c17f49c906948cf5354f0ff8dddc8ddf4da13e8003471a530af1771fd4d2fa3051fc05f8d7d4783869fd9017bbea6142427e0b1e4aea067059d8a19267a07be488e2363ad705132d038ba66ed351a6891effafa03304ffbc61a2be0d569b859543b5781300a75f6c060e66fddcd02482fdca409bb1ccd8e309a6159372fd1f2e78b3502009dd3c6cda7f2f817a4249eb6836bcd31ba4c810e66e8e05e9e809cef9814188b4e875482997ef5dc50f7a66d5188571fcb1d1145b75bdaebf34210bb4cc37f5981fc1f6b4d766ae7de04bb7c75d1a31f51f3acd99c8ed38760b262ab24be033343ef99585328d25577014fb76fe93f39d524248df3dfacf798e1b30309736e058caac41e5b8711e8273206f0023757a2f189b54dd50e1dc8f41bcbe03c924eb9f02594985a10d89f5e0a816bd3777f1ae1b31e7c929fdf98976a3fab755f485930867502ccf0f529762e81926cfda41b995e516014bf2c297b5731e75b9ced33fd9b0e707e25fa7020e529c8a827c28e221e210603f17c89982471c2fe751da69cd3367cbb0330940952da895a7abc8cfb7c13b9359f58e8e6d0d7a4b8d0a258f66dbba0e012a5a2d78617e80159e0980743f29cc7ec69dd4fd711c6efa56b49c9194fc91cde03603dd5d6d91a6823b088173ee121c15633617bc8fe7dfde1941696de79da28fcc0621a385c84d1d02d087f5364e721d3b1879bea8e6516a1268e2cec2d12082b402a6f6bf08b10bcae10c5da10f2a5ed10b3ac9d116e9677e48b4e207308e50dee4c673804481599c7c028db4c7b9d749486bc6e89ca7b79306155800012c3f2705a7a7b3c902264d9eadccc03d25c703123feee3c1f1be931eba0824786a1a030424511a7b34996974b877905cf732132069253d4118b1a7829bc836a94bd61a5c3f58be127108a8c0c639c04c0619b6f78f6bc9fdc1616b1ddab26c91ec6d40f37ab13770e0e2b36c95d41ec7d2944b6a1490da6eb4390325599971db948598ec1eaa7f0e24676f37c5ed4759dbe39a36c2990d30251d6e99bb07f97439a0d85e35cf53d60a36197a528297bf28d52e1352c96544dcef7504441504dd92c579ee01171702f4b74d396c048ce5f7253d16d21bdc3bdc6e5caa25fb766217dc2d54db657c9edc46a61fa537e8ee959a91da79b4abedb6679c3cccaea56aa02039a762d72fa12876f5b92a8bc3b2e732dac76b45465e06da52fd5c3d5723620c2e332abd2642e4adb141c566e268b52a7958a6ce7db544d1457ab899e56df9d63b6f01d920d73c436aa6304684f84f3796d9f942b4c727e7b2bc1f6bee6a6abfd61871509659662ff85b0fec10ccfca5e86ba04f56c2794f8175fb5b5518732c508f93575fca408f7b4634b33ab56832c8da324e0b3ed49726132803f40251ad73711716e44c2bb04f2d0d7c175880b5571a498b6d3e947de9f8445d112dd874b36340f153c1349d966ef4ade58af86c9d35d939bee3ce39f7151d711f1df10a487df3c952622d7fefec0c54ce367a07dc8a1b2c2b9a80dc32abeab0c27886fa26ed4e1133e95190d05839bddf4857a78f882f8ac6edb4bc8bd575d5db64f8705fd7e42eaaa1fe659d24806f3af95c1674db467be65874b4fabf15bd08444eec5479a555655984dd8b7b0e4798e0d6bf81c43caa5c8e6e5defbfffa9f52035bbca6d2d96387fae7f693c6cec201e1ec86111b3ec285f716e124284081b709041da63b6914f4f33a6ac646149f8a38eece074e014ab67386628a8b834aaed1ca3d0aa429505eaeb49886538c951c5313354f989a520076fe9c67d89c9e393bbe1dc96ced820364c77b9ccee8b999c642c91ec363b5b8db5262fb6591ad19c45609ee26f095f4ccae38ce9357f797a0ceb30364826c25bc0f8c0a197563367ea0d940b751d11cad71a46911acd83975a55cdac4b266e8cdad937a27df27c7a060bf150059c759da5fb66470e99d280b28705e4d32d9617eb6117081eaf0a2e7d295d7d575eef2b8e209dfb5e48ae12371ca0ba16829483f5564bf01c8fe752dadd5105e272e9a6ee5f14022c1d936d916cd4fd29bc9f6226821b8c257203e5407e1cd056b77629bc3ff16f2a146387fceb83afbbabef9c3f11f92f6a7b368bd14efc0f0549915d8880702a8d7a39f3a09aceb5ab475b44f5b81a9f71b52e723721b78cf8db7b6939812c1e6cbdc8e3ec726a39f57c5891ae89c5afe0f8ed44d6c62a1e818ff63158f977e2e3603c516ef15264a8313c021132b0f1c70eada31c49c6237c38dc75211afdabfb74a01da47e339bd819bcbd1cdd256f53eb9001bbd474a144c0d2f8fff181b1ad8e68109f65c1b588be9915d580a08b11d02902949ebb43ca1156067c897ee10c3c0c3367f5ea722060cea277c9ac8c6ebafbe2ee0b26badea440809845df6836db38bd1c055832349b7c57f9fa97cf9786654ef39a6962e4fda9274a0e395d2cccedc8054884f6e890262394f0224461d4ba76714a49dcab3dca6e5fb2c810cd7234cc65171d1696ad35773e9def21d458226cc2685c26b9acb182db11656f59b5b5489131101ed969c9f492f664917630a45dc00384f7538377020dbbb4c2446997c8c290cb68c00d642325295fe73bfc8a6096d8cf4718d68cd89a41adb5525b8bcd7dfe4be198e0425166c4770bf78662cf75303792be27908371575fd73100f2839da5f5966e07c4a3a943292c59d1ae4234a891a1f2fac20d8868633e1863eeb356bda302b9dae7fbc2c0e6e57aefe5c73938f4e70028ca30ea0c3f37dff542e2960a7c1e2cf4984fc1795c096808a17ac605876bcfe3d2c6638cee29ae26bbe844d52a75707bafe8d2ea16333f805031df1fdd3dab29da461c86281b56602bb6fd7b7aac51afb9e9c2bcf416ad3dc957fa5615a9194a85da1b8bb827160a607576eb991e6b0c0abee8a3588fd70d30444d424d0912f33f33d30e6ba808a0629e8eba3a4061d7a05dec27c3a7552f1bc1a17f3b0e0a4ce26551633300cb50bc3985f460d359cc6ff90e5360146974b78c4a1f69c8149e05893323eb48de4a4bc6b788b4d726c5f8bd8da1e8ccabba3cea2201aa5a9c053e3848f9d2d73eee6fec85a84fb48ab8a52eb44ddf617aeb7c7bf02dd8624bb898d36385ce01ca082226fca8d9a90b853791ef96b76805acf11d9c3f4aff92c54a2fa0048e617bd1a1e5838857a48f58b0d40514e260d55e88a891f24a14e1bd6e057954cfc8c5abc85849bf2a783fa6dbdb62aa6e113a40ea4e05f18827a2712ce1e58bdba4fea314ce3a560f72f8c7ed74197f5aec6bdb0b5838ecd8e0812b2d3782296bb5f4936c18812bd78d28ab56d336cb18fab9628aad2996ca7af2eb4c8c2af1d8b1439ac144e21504966c029a035a6521425d53b4d42935bbed6f317122e820193e8703c2d16fcbb076dd83502d837aafc7dda74888b03c5e5fdc27407e2a417f86fec58ef9523257f85a584b2be5d3ee2ddadd7f3f43a08987471c4ec6dc39bf369140875c1269b64af6b0cf663816879f75ebabb750f89f13a04f06efbc9f2dd472fca3b57025d6ad5e85a21fa002bd4d0fd86cf1e0dbd4d312cba87c92506fb96d846ae7e4e5d3efccbf32869e80ee7261a2ef8429015da2215832c77000b10ea7af8bb6c514899d4a428c45e1566bc77b6e63c8d4b0cc22d1257a7d3fe1715180cae6b801c7d35558f6725d8e176432801b42e5893aec2561fe25aae634263c8fbb6d080900610b3eb19ac69ec9d1334dec1ece699aee376a81a8a3aa0646572f5ad86b7c86c647962d6398f66fdbdcbc2b18829ebd3f323dfa908ccd7f9258b9cd39480e77d59bea8455eb89a251174b0d8f068fb86f697e66bcad525bdf47e3c01e098cc69d3350de2ecf8b75f421e14de4fde54042c68a4e1d9fc0d18a917747097fa47870d3592dd236329293388bdd77f7f86341efc23033856a55856aaaa20c5d17e73033eda7e2d8d13ebf1ba5f7287e86ee991e9b2632fe5102c8f14b2130d1af83b60d438ad1771826eaa2f97a765a8c57978cf1ad2a23dd3257952e9f551e923e01104c8d61f7b26376f4fe10b596b792b3f093527fded5c038580bdef811c8211e591d574576b9566eb268f006bf045982cbbdbb97606c50de4a02b6e0bc079e4055692023c6cb7c294fab74e09b888c6d7ab743c52cca8984c3e443a5618c8214fe5c863ccae47e787e1027143fe315cdf77d98a70d2357436d8efc4104c5da4b306d5f09b0d0f9f4742963bb60bbc08b9e78e768ed4654916b7df480955a40922331232af809765820adf52ee68d27427e134a05dd657198fab3aebfc7918e23d3736c5ebddf8221728c1ddaf68bde1b596651f4be15def4079320595b982f94754712706e874a4dd08460853f7e85ae030cf98a45dafd7715ddc7236fdcb152100b009467f89977e5db3a50e1ab9d48e67a6aa9b0f345d4c628493ca45fdf7dffbcf5fed5ebea53bac106e7d0731a11d7a873da6ac5e96698ffc157df93aca4bf941164ea6a3e9888559666bb33cb757eadebaf8dc710c8bd25c9822b2f34fafff3f5b85f5dd22172a30bb96430117efb69e25b1e63c92da0c9dea8fef9a22b83aada6dc0bda60d2a9444384f37cd58fb858ce2568f946fcb37f68c3048631fa88e751930eb6080e4a9cf9d54cbc48a57f3a2712e113b7bd793321545f82d005c60cebe1c6283c486bf4e073f8e39eb8f91e482111172c8984f5793943061d3ebe833461a3d4f643fd3c5a41a007a0bf25f30b3e25a12e946a1feb2ad130def05a11bf14add72d660ec3fc90f1083301ea841849496e171b74a74bfbea9d23c6d88e186f78c32c1e6df59a02b230fb5815108cab7f769178afbb8ddb3bcbc34425cfc8bfdb364013d8618fc5eb52f77d3ccf5f992989ef803362c6741a64e590c5b2f85b21685e1a30aa16e6c8d77dfc90c2e555fbc13dc240afd635416ded93904264f42713ee375e804e3386537c976cfb2991d9fbca060f98d98b31c014f6035fae3375803ae33f908caf36bdbb18e7c58ea15273b9a869c04c87be7ff57faca504610168544a03299a54d3dc32569724177c34316f084eb200a0db8cb96613c5290741e40a2ceafd4543994b3d8327e525f974c7c60ff1f25e3171a443241ab3cfe83ec16b95ee9ffe1b19f0bf636dc46e33a6527f7726d3c1d62f487446ecdace0fc7a4563b8455d0e3d9bc39cca88a0f18695efca86c1545829cb54b9ad3cf0b441eb7e42d5c13ea11066a7163f289928ec81c10ada3101407387fb0c2c01716475f5cd3bfe8c2d94d949c570332b82e8785ba2b129374dc92557fc50a07f7fa1fc215def8ab492163bb6689f270e20f22c6222c25d3610ca30d1c633de4ecbd42ad14621971111fb63a6ff29d9a04ea774ae44823482092ff2ac12e0079a1e5ad8bbeeaf1375d8f9a6719302cac10ac0a3066ce0661de3523c897467794d88ad3d3443f616558d30036ed5c7d9c693d3bdab039ad37b224e096bcd6c301b83bdce238238e75171209ff24575957c2026f5570869f385777bb521ceeaac0a525321c85e6f5d189d118854337ece3bbac632f5c77aed2e763cec7a67532c3fb4a7188878e2e8b271ab52dffc170fdb13d186b49328d9bbef076758d102d83de893fcf21e3c88bba745f798882b76d72e6e1de1631a4e56d6dbb8bc4400834210436f247c7a4ac6b49ed3830d128788b224adf583c8b0118deda2dc6eb7829867b6f9b2d080f2f1c485852bbaf530c3c0dc2207d4ecfecc1309e15e9c0f1bf63bcd2c08f95eab1e6cc632db08a43c242d1b7d8d37009b29d46cf08e450e2bf438987ae107f35df5d9e5bbbb289736451a5cb7a61147edc27970e5cfe444dd30884a724f9a817e8312aac8b725c1714ef9d87ee71c5c84e5c25fc1e277a0f674ef27ba362f2209f19de92da6d8dc6daa5c0f82f2f5bd6af4c84fdc174683572f35d09e2c2dee01d7b54ba1269112ac22a6dfc4e87195ed3a0d866af36a3a24305fd5824b715b3125eb39bb102bec20d438649136df8eb97ce6ec589c6b6dd05b9f8d82bed0ec07f274dbf8c2ae841a152519b613722ecd053c4fd71818d2dcbd72180c5ed3cadb0b69243cc1f010abb4001408fd0afeeb64ee7f0b900ef5f9abd7d1bba30cdae43b78a5adc0019c19114c9042a4cc50463002b8364183007da68bcd93a6631aa33b0f1156676e39afe9cbdb2aebca5b2e85e90fad2af38260bc90325998878bfa8c7ecb36670cf9ca20bca89d2225fef22a3947742665f0ce21afaef30d135af73bfeca3619a0c955b2b56881231cd92874fb80fb76c7b6ba5f14a64c70c9e49cd49005e21df367c8ae63314db0390ddc21e234cbae962e2051893348a9f25cc22a7416399cdcefce6fbd0ce25bb6495ad0a4217d32083e83aafed48eb2891c8d2110ef5c09efd254cabc0a2e6fe61c653432b1ce5cdbac21174112d95393e111bd5dedd77e2571efa3b651b8024fe0216baa042117c5229c63d74d4fb9486ded3f28d13bfb0812b5b9b4f43d3c627c5d8fa73a5bfdc6be6b70be191dde06effb1bcf7fc259b1ac4222aa7cad59934478c770fb560491ae6c06145c32ae33718a1f08f1f41bc3debbf3e1341a313135559986eb5341f8233572bea3689d32adfe896de9656d90a1ae60afb84f557c835cefc2c3a0433d264c046a83d7b1861b112ef5466040f3929f682f344806fa8f6d152d54600630c290d69c00ff40be959c947d92c9c8721b2fd835b325fe799066d7b2bce92cff1789a5d19996565782145e21160ee4a7b64fc15d8075ca3d234d268a169f6dd54587c14ff7c93a2f51d959e4e1fee837627dc7f525a60cd0f74beb3cc7fbd72d66bef27b27a40c17d74061f86169bccf53e298291ebe0a6340b67c013ffe943eff9a3cff0ef49e98dd5b4dbca347d73b967d798a43130c71d6a1692feff7a8e75ba026dea85eca5f8770abde59e106857a7cf5339f66188cf3dc61e3c1f7a095a3e3b17d8075cf5b2f5b32255f5c27fde88bbbfe5077aed3b389f4ea888fca3d69126d48cd2020c90ee5e571cae019edbbc4e33e6491e0d976ab6b09d89dc4445d69c48a4f6742683c7bd62da1d9063388f4ae2244edf424407736eed6328019ec32e66d92ecb18f9feb30e5697b8428d91517103a8328cb436de19c25e0579df505b3c5b6394784566e97114a4cf978ca520f9b9ea528c8f62cd3c3def39c762f257058fe3247e7fc6e271af31c4a6c956cd2e57efe3d46eed40d9f438c98741004c549c16565868eb54b9d6380af00673bf288ea27494400a80f29236f2b3d072a505c7203106eef8ce483adcce1426d9de04398a1e70cada15bc62f2df1b6c235d121d47e0f91d684a17acbb37714f47cb8d2126acc680798120f24a5aa0c7cc70a65477eb22a5a04e1be55c68803527571553ce1c53a80c5bac0e5bc3d2fd4070aae642f78a143f1558a1c165ae7c1c71994cd2984285dd8105abde594db7140a83d957a4e452a0c6528c7bfd8ef0e30fe7654f637e80e36f5803a96bfcb409ebe346304597b13edac41b2375c686079e5d76b1ee2335cd672492a6696ccf094bc08e736e91ac32d968573e65636430003e33bd868cb8e457fe91e6aa54d38bc35bccb1e95d913eda675cbff3b4c780791777e982809fbeabce8e5b22b654508a244cac9db3dc1572b25ce3946b6a48b294edd4e6e722efa98fa36f20a587df7f5ea651012a018e1c80b07ed725e6c5ef70da50a30490dc8a7a99983b1823786a2dc9bdc8d630c70a942c6c4be04f9c2c543356c185102df39af7a5821770f0f991c564e90e11491af816cfbddc9ca29dc386d3eae2d2a02392ea1b2aad4d34400f2373c5798689fb4c1b8e72ec8adb15d5074a1524b84b8af3a91049b8a49530c84303062a9d7957665befa6657dbc694f77e769cb6078ee48fad4df00d9931ad950a6115eeffd6ea047ee15c4e70a5a6a3f3393a569887c3378aeb57cf54317eecadd252a08b75245b860fd9eaaadcd98ce1a54084afeba1021d646102ec12b7c88cfddc379b8f62089c01e7480fd00751ff52ec2ccb1f1bad3017b43c144c4d4365b969e2599180dae35138eb608a719f8a9c5cef49781e2aa400f6739b2ba58594396e840e334e6a1cc1896187ec16eb18509130ce18f1692742a77c766b32af03b096af28b3376f20449213ebea2c152e82ca9709da51b5bfc7124c2fd4ef3807df091da26e99fbab5fe2f43186663188d53b4d5bab4de77ec61f7aa84ad8f606dd55d2b735270f366e0ece25890f6e7c4320619cb9fba01c550b3c6e9a02769a930e90521edd191bd5de291d39b34fa67123907920dd5d3e5617d9a70788032363bd158c5b3a511e8667e74d14e8c59accdf38ee1daf2cb36aaf2f8c4edfee26c8e3c31eab36888b5b9e9506199da204ce4020a6770388654ebd780f8daa795555f27bdc746b16636c4c362b5e4ca30e047af474e0885de53d10bea28c5b8079112301bbcfdcbaf68215553b019a52e5fcdeeee29dced22adf54dd0ddf51b5451e581ee425cbae9a3ac5a54b51ccbcd6c796ff08ca1995ad8bf08144f6aea4e855715009296472ddd3819d8677829f51e59c0d55b83b3660dccfd2d2c3bb635f0aadb5a6f9d04e208dbb2386329935e68ef86c423984b0a7458983544da4c49ea31e42b5642aa6d2edd6823b26ac315703081d8e2cbbb40f462095e7a5687109b4065984f7d2c2ea408b563f81666f9bcdac8644c9f6a7f8912e109447001f71edc7607ac492f2d5a345f8b09cc03a185ef1817d592e0b7d7b364900165cb8c07409cd166673936b9d56ab35c46bec398ac14f1361eb51f731cba51f5030d7cfb5f3291c57a607729a0e86fd09a8d9c0e67d0a5a20b1207e7450abffdb687e42ac7138694831532d22b0ea3b00f4821e4f0319a0b16b5d43696bda33f8aff1208e639aed41b33b954760cf452bab8d6943c3cb99eb52c4240e7708628d8de72ca83890ceac22fc99985797fcf80ec293cad6b471a25731be06b795857db48a979371d4514886ae80ee3cd7769b13d9e2d19480d0142c4fca0e0c85591ebf196e0432edfe2cef34316f53b69027fc661e794dda5adcc9982154e38c0d29a0ff617175d690a9c5ee87bdd55014261c73fbac72dcb6fe1e271f4a705b2c4366330d299f58fca9faa56f0cf7ede8f212044c41a02d5d63c7f60ba8a8b536c96f7b8ba95e3254288e26ed3b0fe01d897d2efdf5238639a6ed61135f25471030deae14a94c7e4bb4e7526262e5af39218d33d9b11c90c08437372a8d36d33b506bbd9532283ada1634c347be486fc457ed9b56f48b095f8fd1cbc498dd4878cd97d5fb187f8a3888062615984d3143db99ac378acb6402b4fd285408999286fc960872737bbfab9ee13349c166fc0b6ff6e1b7f837eab98bac7d74b51a8aa6d3cc888f1c10f26e4b18e70768a40d98dfc1a18a076e0763fda77fbb862d0c2f086d61a7b8ae26520994c2965fe629bb44ed6754f44b834cf06ace122df1c412f7ee803ae1d28c66a9fcc461323e191eb9f49f441be1f323150e372305889d422f423db0073a5eee7d5f57cc89ee324bd0e848811bd0bd8921a012da2e859f1ce3fedb694acfee6bf763ce79ca05dbb74ac4df12bae6e9ee56ec711e33484353d22ac41f0d19c789e36687aad896e2801139c2b4e73e8da2c56dc564d6109b84030ac7576f97d23c1cbd2a48b8a7637cc01e103d7abbdd9acee72ab34c5079c3a2d929d6d8e1afa3dcd85bb5b9d6a09286fe6e7080920f91c18c8ffa6b30cc6f6592b268fe33a7551c7fb784430ca34b6ab931f7f0a242b3e34b8225f2246c6842f9580cb093a864b718a405e83c0987e5069a5d8791b6329ae79671fffb75dbbdff22e425c263fcb6492d05824c4e5890e62ff124b56df89ed044f4b3d1198e0909aa99b8440a14e494f437039477e666bf5fabb54032737ab83aa2095f9f2b619a7e8d5915731755ddd4265034602ff6f748a88ead74ddf9fe2d739a1155bee18b79292cf25ce9675fb0564ee214cc1bcd13d75f8b1898de9d90067aed0e789585d3b58ab7d9688d62a4863a9e4b031ca39774600e128c1438c5b2e0d4b3105509cfe0e1ae334eb475b45907d8aec921cf19afbb5d6b8f6b9639c9692022a8fb5ec52e19c3c2b5fa720b5d7050087b057d99b01104c444ece44cb38692822f6b3f750fb7d84ca6e73b60831b7f4f5477e8ec4b55d62d2f394879ada74066aac87d77cda95634095f2d0914062014a043b54b47b74822ec088c3852c0bd672df6e27ac34d2ce98f60c7e5ec3dc42fb29a33bdcdeffcbe0c6d75b8e6b003321cf195f3865c7aebcd5bb9e5cf7f13f65fb38d932569cc067d2ab2656bae9fea74f2216d93739c8fda9d5bf2126362f2ea62ab10ad4422191c742952290bd1a164b49f015fa742db49338fbbae7ac382f345343a1dc644b1db5d2bbf997129f4226ae060d4f5a5a8a6146cd80ee5c2728ea601dc0c7b7ae3e33f78f2179879efeeb374e19f45864463be6ba2f2f404ed67e3af89578db9b48eed12361ff275d9c7b0ed40509c174e4d8db73a823ca8c850fc4acba9e54a1dacc0e4702d99c0057e09e32260714bb32e9be9b32451a9d7704577becd5e7600384d6dcaa29819e54bfe97cba8b2c5447ddb672d0aaa9bf469691451b4a4f37783dce7bc4b33093572b5ce336df9857533dffe215d7d3bd882027269564e59945dd3a2528f236463eadd220eebe6a154c0d0cb93735ed21290dbd77499d3d6b9ff467ba873edefaa584c3315e87015d9d4df91f3289dc9dfd8d711c1cdb776ef9c5c21fab1256110c08d0d3ba73184f53a8098ae6108ada663b92a83ade7a9a49df81b7492358a38dfdd394dde42e9fc2ecd29f9c15a041ac28d04521d93f61210603708dfd6aac8c0169e6dac5b6c5689df8416043a420dead5a49f85f1c27ff11ed7933d5ced6491ed10f15efb28c676df36169d5c499d936519f9e72605d26181680ae13ad5aca6fde5fb618086c91aa285048c7e9c4a7a815b63ccb81b949a5976252ed2afe2deb22a566a3794a72d2b55cb939b31b6527974cd0d9ba98dc29da709e8c4e05045c6a85b6cd48e38ac180ea196c7573aa29ae24578652ff1405a65fffbcc478233d9459dd4b3541e1b8dd826f908b4ab1ca42c3461e1f0df7214413ca0d4f23443dc4ea9569495ee26d79bdf0a40199dd31f7a865b89fc3c96be4c06aa896cd6c952ed35cce2ab307054ad3629339265d2a482b693442b82291425c0890d79385ecde978ea051796acd7ecc735bacd6ccea7c1057f5f21b499978727d5cbb0a702c65e4676580d58330f49588c6266fe147806ae34a10b0a69b01141e7a1d432760877c464d5dc3bc20b2d85d6c6ddc8d0dadbb28788d80880885b6ac3a9589c6107dce8506a79a947a4cd5f321643e490ffb2d52c061a41da3e86f6b2abdf85b72d1e81b709b336a4928132e0b2a30584129de4d0192e91d800ebaece1d33dba1ac5df4fe5ea27fd25d93c8244b22a8eadff7c6106ea25fe8ed135c77f9989e691489c532d52858b22ffe982c489a3145da5e1498c08edc8cb7e47b0805773459dc43f4be9fc6be713722f17a4bb1af156b88e48e1c33de979f34cf45998e395c3152645ac2e080fb453e18595c5c9c5f5a4390d6d0d432d165da6c04666accaa66a0a7240f38ea487cf72c08870bd80aeea0e9014e474ca4c95177201400524d8adb1a7d113ae36c88aae34749387171ed6bb1083464685aa5e75bdf6a2d53974e26514478a63b23da3bb79cc36d0d1e0892f496eebaefa6ba5d51db62c4182c539bff78b2660b0dd2a49abf4be456e7f35aab3bc79239156f7f0d939980a577a763db10edd8aaae731609daf9a360416f77ab1ea28e045046271b1ca56d897c0784967b6a798b4be48291ca0431eb628145cd9ca3ca86bcd3833bc85a1079c8f19bbde86885d2bf762215969b846b8ff0c0ae2e9732fdddcb1d4ed143d88bab65cfb40dca0de29faaf7f65e6c3772be83796638850f03666dbf244fd5571121cd2731ca0e8ab6b51a277319ad95e6f9179f1422c3ec271a38c1596bd73595add4a1e1ae16df273456d5a95d418a6ed10426517105378efa1325d1fae403d6dd118f0ec497246989febcf1e0f706ee95e329b82ee15e7265f9032e7fb01c08dc020b7d881563f09dffd9fbb2a51f6e3c06e87fb0b90634cb677aa7f789599565d121cb158214231fb9f2123e30ec3515fa9fdc2c0d7b56fa6eab0d9bd6ec68f9edc8b18298a181865eef120cb506f643f120961790f346d11e5460e2854a8bd4fa9f12d6372e1d99e64e8986779d0e8e3a219dfcd5fddc0b0338c0dc0cc0340aa3973d4f839fb63d097bf32edee3c0d8f273094c418c5b6b68b45dad01a8dc1219be098e798c870b9c1c0a012adf1865cce9875d1315323645d5bb3e534f9dfc884c7a138085f563b256fa8ea25e067fd2a3641123a1dfc7f193b4ff85c25458271448c33185b406afe079d70b8320a63f1026300fe692a98674cda9793d18c8e244d951b6a3bc9a7ae77ba8094df549163cc086e26075504f8a62bf9cb50ce37a612fe7e02379d0a055691e7c134d7abf1e1262b980cbab85285f3bd712e2c3f4a39fc8b3a1293c462cb1ef28388164c047492983347bc9fb993e11572285c8eb154cc6aa34f701e033ffe2750431271801cd7779b4f0d412be3fe03d42aa0a5d1573eeab8f53b2cea17e33a284f876ac181623376f5377e73184fc6b002a97c9d3c94436d5b0545405c870e65b8d57461316a5e3139ffca34f465045a1c972195b3502305b1564d4b6d70b613b39e65961fa9be903970caf687ed19d0c8e2f79245e69286ac1f7a74723ddeee187bf0d89b9f668f9fa076ebdcded7bdb78be609795271205d1899a1f3b4e479f100ea2c8bc72a579cafc7b42cdb2554eea3f9d3e554be36dd3028a42dc07fd6aa789860dee7e2030a0073273ffad5ea6b19cdcad9499ba17dfc4f2960b6e4f05f0d92755056e481296182be01c949ea4c72e1355abaec2f778844985377ae3de3dd6d4eb0cd68a06ae2a0ab69efbb8e3d6474014d3f9f9933b3f88d3bb571e67142d23aa24fe2525e83d793f23fb4614bbb3a166407a76117fe3d542ff2c83c358fb6091c88a52a520d03afae56a9388937c21c0ce2d5e82693f3171bee8df12d3e82ba50f10787e0935e7e05b7b99265f7ba82af13d987b6cc4940f90bd7128e00f3646222b967186b1e1900333a0a5ea34cfdc5fbc9e692b6b1b55dd1cee98ccb137b88daf805379fcad1d53f08de1f1e38048aa066d6ab4cf090660732cb13ffc65ad48924e9d5b3959dce81e56cc190e6c441cc0418e50b1451f488d1ffebfe75cf198d744a461fcce0393cb1f83090f46536b855754bd4e556204dcbead4e3e49750a17ebf6273776c1a118412038e7d373e54708712846d7eaaaeab1bb2f1502cfb574ce51b850a2509e74629373a983fcd98927ab0f8079e6e9d678fd9423190dfba504ee1cf8d33c2a1c2174b89cab3ded2785d583bc726320886dd1483176a3724106251aac17c5ed74675318c344fd17b4427bfcb759a2b2ef8782a01c879e17a31501228e8b1a21c3904b669d48a29df8f0a6e90e9dad378bac52b6c6e061b45e6fe07d04c743a23f20e4e3d7b1432918837750253df9a474c6f6ded6f8bc1704f3221074c0573b0d863f4aea9798c0a8b26c6d681ab1d68b9c02de897669dc27b37491e6e0ae7675f4fb1254427757768b10e03887540ab10b39d4fcab1b62eec3c28449796f2ba546b4016fb923902dfab1e509ff8ba4582e474a6cd9240f4aee3ea95dcf2e1c83741a8e3d5245e35cbaf3c064df173105e8d0221c3f7946da2851a16c634126c3423bafa9d943225e4a030791469760ab50859ae8a60e2e39de0c67c85a6523a10bc73ea53db1be58f64584a59ee0c2889ac076232b02b03463825543c5fb57444e7d95fa9893fc410cf6f495b7db7a041206ef510ef6d1ed8349a14f8218b015a4843803918a8b728716948c24d13321a679817b4266849fa94044481895f18fa63bcf39da6f7c27ee681649a9445a8a37f234fa8cb6c31f3fa0cec319bda4a1f77510dae7f0179c881cd4a9bcd9556c171bf4a0584d0b2a6052e4efa999752a554e950299461ff75c63015e1eb17ddec62b04f092e59e80c41a087b42930f656b956ebf118ba097be02ff4fa9d57be27a0cbb8896726e7a45b1152cf53edd7787f2cf6d28fbac8672b58e0fd1004f7a6e94f3883c22df776db827a16ab75131f651f5c5958be40b152e22a1641932a3e9f4c3e1a49ae0ccd0cd599faf5018ed64f7d73478cc05b2e66e154466f7f2c5dc84b2458f7c89ddb9b031e923694a350562b1e85e3335b16274e7814ae27f7a04dabb1c4fea493ac35e5fdefd771431895a5eca71c9117c5ffbc28a682e679b1bfc95d3b94f76427d9e49701cab8401ad84a041916ecec950e1a59a9077a200ad965cb56fcc84d31f7afcd5df68d3e8ad50f89976eaac94f60e3596909e97f98b353aabe5b764b1bfcbe1e76fa8d65e45f0c10b220d202aef4cdf357f0649a59d432eef029649ce2e272866b96cfdf467a531a6e34a927893fbc4ad9a148c1280fcb049e137535add408cc01a18a69a2bba7388fb3945242bc07a9b7bc3a63aca6378f9a283cbfd35617d89300002dccccc877f7b97146f15ed2801cc280e29d391c34a5191342b3159a7830d71399297323fd350fd4b3a3e35d7a82f64416bd33fd50a97e36e08aa48005df6524cb34b736d12ba1c51b81d88d20aa37b98aa58b6744265f19279cf9594173afa586e1a13c803e0cefb05b118e1adc0876d001a727798c246501b18c59c736560e5313b64e1fffff6f58557dcbdd3055944eb6345856a0a8a49d16b968acf20e047854a306d65bdf87d76532c73ba4e9161e85c3821ee51a7cf9d21515e518f8a23888bc8489b4f769690bdf37e3fadcb703e7127a338b26958e1c70684e453a9a6ac6e2257804ca54bdf918d3f3f42e243374d613e7dbaeeb880cbf48cd531a50fa7e67d7877bd692fcaf512d8a7371557b8bf9d229fc23c0892d7e6706e52ab0d1d6f9c526e8496d21b0de0728636aa5305b7a3c829a8c46c068b894965bb56b87b203aab87a6efbed7abe33d0ccce347051c4c6cd56cb9e6613ae510e00e5122a2d1c78df14628924c3ad0ad2fa4c5c7266052bee568551353bc3971923987af67c65ae4714675c6294178111d4302d1d60e61d3326717c47c9067103c520ac9c6283043c02e1ee006b40b9ea7c34ade5cdf3a49b45b977bfff2b5c170eb392b76c2070ed58c83d3881aa1693fca008ae5dc4062a216ba32b3acd6490e2b8dddafb03d76d4f2db56edf4d14c67c328436df6e6ab279b7958868768d7683212836d9272ba717f6318203edb0ae45e773acdc548a8d876d742e24de7a6781f953afff151b816368a80669864c030933242e2c355c85efec28c1ebe7f18d9927c73753d3124a0a28f11ab141ba7ae6549a1ab63adc793ea1a604e2b253aa654afe6c9cb2877c39aada57cc7e64a631336afbd71ad36789ed5074de545d8d43332f759269478b4a55004aa04cc4125ad33ad3c67c824001e54e67e16970774da7200c5a005121d300f8c4b5828685419c1eb93dfa9da2ed64f1ba3004a73de6f8815d0069228dead1789a1dfccadba15ab1ca63b639e591bdfb8babbdecb33a521963e620c4bb84f44033098212b6fc9f9f5058ef7c0b564c8f42cfb58d6f48ff742f39e8b29757414daed53e6c697e66f26d2e106043c1187794cbc98a52484a2652e2d4e8d4fd8736c8785373ce8e27016849e71c1954564d01b7b85a2013fcfb085811ad21adc208cf06d211e62d0e40ffb39c7439eb06a313ab6c0bc8ad11c799f75c5d277e49fd9ef1ae535212a4cbc2413e8e5525cc0cf198414643742e1f680890a5c7f97b7bf00cc8b95f80f16a3e483a7379059c5f398835b838776bb4c18dee8500cef22a0905d78e6000df671a96208ea5fb93d8bfd623d2e9d94499d25aae8e28ca3d3a71b093f17ae3e5b8cbe96391b932e54bd93b4976f2b83f971fa3d390b5dfd7dbe4f32275d5c9895eb3d9522f0eff0ebf1a7ca70c0877fb64b3311f7330545c3ac5707b804b126a88646a20d12a66c45db3a73bc22069af96ccad8952bba28863f82ddaac5872c1bdeffc6b4aea0f3dfea32f1dd8a19469e0f769d4cbcd3449a9c81fba0413169454d515fb81856d1dd26735473f60588be44d8e11dc0c7e42c486ead425b2f34b8f74d23345aed7609bb69d03c88266528004cb01515ff792ea8c6b1b6099ff4806be3f4402d8829c7f6ffaa67fc322f0fa8cccef36a60e1c219259c2e1dc30c27179db1c19e45156597d1c114fea4b5634de6f862eb926e8569c6c4fd0efba50b3febf3eb97a47ee71a23b34ffcfe93d70ee7f82e6df87c0b142f9f0edf09f43056088e7934ce2cbee2a15a773c17cf73e149cc8c0ec566ab013223751638e85f9c03214c914b65f7e475dfe8d20052fb73a0f898d68c38795ade95adaae4af3da48d0e703bf3adfd8291bc094c39187601f05d8abb6f3b532028b31c15aee3cd6ea31d45e7b3b4e137ada56956624f242a718150e30de4a8f57b4c4c779ecf515309d029987aaae20a3e906e1ae669a03cca94a506de6d9b7f658b59891e0ab7554455cb63a39cd9588c304c878f53ea4a6c8aca84d8ff1e02e0911194893f48f4c2deeb289e497c6d15c7dbc02769c30c1c4d3879510f1d42f5a69405d63369cdddff82ece661b816bb5e634dc2f5795def1f8781fb2b72a706e227ee90af5b179bb1c4d89fbbb71ca4642c6095d553b5196c9362c9c25e74dc485e58823b17da476cdbf9556280d9e5395c0e70b9a5e9020abd80a1b2d03c9fb60cfd49c34f8c019e4b8a0a66f76c1522fb7cecce62f087dd00e93e3774e1eaca7aeed6627ef44b912ffa8d0c6f67cac77dbafb9f02ad1a550992b6c4bfc3f7bc91dba2bd88e702384d4f7b171e03ea71fc4e717a527fbc43fdd8ce802ef45323c98a5d88c6aa136567550de5437112152d457b87d1650cc25ae28267a181e31ab73d28d9f6bf21bcd08bccf2c46501be9950c37fbf77cb8d69a9fbdfde9543c1b5b807961ba639e288b4dfc5fd090a76f8eccbccd156ab14f81ea613282e31f50a687de6a6fb326b446e28cef7e614e55cd72193f655deaa1c8a9b1581cb95eda94b83ec01a1c59d17bbc3028cb5bb414a771bf54d757abb368e7bebec9391343fc3db7a1588c32038b7efb429e22e963570f945ac8555e080ec5a1f65727a539d8babd9007cf9640c72c032943c9fd787db21a0cf6c63fc637d131b7a7532d26ef27db287b7563b7706284a64d04119533049137bc097b6e13411d32799941e5ac05d93dbede70557ae4afe05172c98c80c65eb6bfca95c9eaff461de19c16f4a15fd7dc52bd408b66e894f9c5dbb47ed11e63d7323e1b4aadb47ad70c21a4ba34a182ef05152f8805d8a0b034e4617f1f27b3e7e71912e0efd4737375af83c10bdbfb764ce9f9fe05a730f29c26e891893d66263d4a96e9e25cb88c7c06b5862b5b55fb3776d2ef74ab7a877350a51e352a52e3869cb95d8069118412ccc66d0c469090a7496b2a3697d391eed6c37a47dc0683c9b2a5c4cd554f416bdab5ba35690705b8a44a79431e821a897b97475ce6c4b5efe7a4e9d7f4047f3400c58a168c9a45f3b8c23376c39681bfdc1143b87ab3b86bab323bd6faf7f3127617c9ba361f516b9527ed5937412199fb31799a762f941bbb5b284dbd6bc632ad22b1180f544194d9d84d707f2ba23d47ef71a538ac4f9edc29c6daa69794587b5d4d3a90fa95ffcaf86d9712b6a49799b7cda44147e35e60c71dfde42022a1ce4611b8e62f8af7239c58c908b5528acc80552c0a88250b80c37e3fa6cd707f5367c6399bef0548053675cb0fe02041237b1f2f2da0e1836b2dacd96b71432a3caa1440e42686457098dfdf41ddc1101dce3027b76d98c4b4dfad58723707d318a720c2b361c408fb60ccf11cdbaa136928e2ecc5ef7ade660f6539938c4b7f609d85455b5bf333003f02c390f79de9c9e950fde73505a68f41f89b2b39bc1928f9f68a29881581cfd9d045cde8c6dfc8c1385537a6e211e1d28ef220b92d6028f40689c32fb9aafd94b39864d2a57298e9b112a52b52d9eeeb080af4e387c81eb94f1663bc45767cd642f5882110b3fe15aed382a8c5cfce175db52ca3a54852d794458f7ad61265ea139fcf781c46c0e1a8842be28906f8eec7626a72cc57595beb0e01115cd17459b72bb2349bef178aa731ab0d013238563b7861d4c8c27fe7b6a0652eb89bbb933c8ae291cde9f793f00981d1627d5867719e91b3d4fa5b40c3953d89a70411f10aacc463352d2b691e477791c0076dd3d79022b8a6e79c9289abf1d210b95ce6bcbb6a231ae4bf2c08e2161a554707304a8b1538d9a32133763d22eeba8726ff9813d76c357b6c3623ee1ea3ec2421b02c359a5ced8cdefcc4477303eb87455181c04027fd22aa42d2217562982a7f0a396471a443f4055314be7d14d0e6a5dca82c6afa773372153aa850276069ceaa06307217e870b734e6738c5b4655d5713a550f6555020f44d301bed5223dfab40292079f345bb7ebc1a9e84992fdef483d0833e482f616de696ee24f1fa8734a567751a1fe331f369a4a4d2f46a9252df20bc31225688c9e7f567cc4820c4824c5ff9347de778eba4c270e35d6036240af1b17635271034faa24dd40c7d6b5585d24838f45d98105f3aa5c2bffb2e56cfe2b7e3b9546213aca328e46048845683f892c3be55e0a87eb795b773f7cf628fc422d668bed611824859d16edd1ad6da4f0f2fe2bc5e4d820a7505bfa697185a61f4af0ae1eaf1f1a4f6dba60f1b1058cb0d7c2f4e23a7964c5fa977b3201051d691a7e1b03bcfaa5f05efdb5d5df3b88f052768724467b9f42574fe452666dce846887c954d37f4aa4232c0a51184e253d1c3436e057c05d8d373c609ce3cdb8e274ed5c351b9957ecb38234980cafcf028af5da4aed7379e13c61215ab3d442326e75aed5f45633da835000514c195cfdb33eb0d5be67e97ea447d80b58ff44d469f7659b8946d22aec2f6fac47b6bcbaf1fe6e173888740ed549d8415e97603082b06744c1d060cf12f501475d08d896c2a15333a9dc06b4bc4bdb419d6ed5d7bc5cafcdf9edd612dd4c84d41ca8f80bbd7e9df07f0f7df8d59b81e22170cd4f3dd1d69b4db94de1783fcee6855a79408eea1deb550e682025c23fcc71d2ffc2985c8c498658b3899cfa1f1a4f75685a0997a0e637c5f16feac11c66d2d7a47cecebbafc479262aec223f1d88b7a01877746b9811c2bb91579687f3258efac1e4d9f74c569c1fe21ee45a46d33f0e5871369e44a90f3870ecada9d05dd02c8a204021d90bc6f86de5b086bfad8b4453a21388f1fa46ef864ececd73a4c135f2a9a04b8a6b98f424de7df4676242342589e75087a25d758a0aa65682ae2038eb625550e5f69b81b9e7a59aaf80882c5f5375f0af9a20cf6e5e5718dd767d10dadc461e119321fcddc1253004a5ab42511e216be1ec09dac3ca9d73ee125360702676a86116b1079199c80859b5778261092f1b240ad8d0189b02eb3c1e4dd1450aabdda9c0555da30877faacdb1e17e9c6725571ec1b4b2c9f1651a8a376561028ea36e9026ce90e9ac4b1a69dbb67ceb53026e7675a0eab0746d3cf139c59332de0ebf443b2e4dda386a65afb404b17058be6ce7b292a522690da023dd51a35a915055fbae14ab86b56f918b2c9c66c2dad8708c492864c122f73880276148b0685fe7e6c4d90f8af418e81e864e89316e2e120ba28ca550c3b4f0a583501d94a93a45b8d7709528a60a6b7a452f79c09582f86888e749a67bc220a32986f34dee455cac7601f7c0d012167771e172ce400d5aa630df56b3d6096d6ef2a7e329f24ded0285e6c374713744c3ac6f1dc803fb4c9db45a0e40a662e707b049bae42a985119e10f196188419abf080ae2e614a52d4d2cff53e1f757af1918044ef24a371ecf69b862ddc5fb3932ed53f902d88e4808dea4d40e4ca2d9ae1c95c5046625a4def81e1891f8474eafd1e60eb6c2dc5a2f4bc96ca75c87c2ade9cf0b6579d90cc3f3b02f184fb61eb3efee8e8ce8a143bda79593691a99e5487ab40f88ee3e6f7edac00e1759668018f0fbe6212f85187c546bb55b724c0a2e65de2aa1645a742e92c7bd9090e9657af77eb8afa5f2d32d29c0ad1a9ebed44e300ea5ceecc35709069b963982c32b5e490865d288ac2b820b11e652bce0a911045913d284f861c6e7a8ea3c3af6d08dae7e509186728106cfa44968b614a325b7f1a1b046931161c869addbece61464b96362d3ac3f242d14a6017277766f5dc65dc5faa6545d2a902f11b5239fce2eb67b2705cce2d7b27e99cd89f6cefa30f33194a3bfb8cbaed3b4b80f7450e34885a237ceb9253e7441b36b9cb45e4af8c23db7b3aa28d5de40d69a89375144a3f0a667bf12796bda269bf63b66594d810470655ae055e59cc464e3d29bbed488d1becc8ed51861441cd96e1767bb06e73790047f90c9c4f9780ffe3b39b2fa31054250985fb53fca6ecf05a489d00fe158c4abc9f4777627290bbf4211b3ce3dcedfea6b42d69262d44697ed5a42e8d4a49d2dbfdbe36dbf177576690d36c5c47d692b327ceeeb32308d4bbbd79878802a3f31067ec66111fa0bb0b98eb83c5ea4e7692756cd3fce8697066b44a6b7854162f7ed919ddee2471baeb54f38d383dcac97ddfedff862a174dac920892f94033687115582f948f16c5877be1f5cce4dc52ff13cc3a434efc5698000a79a900b895234f3a78b23f4fbc42d0fc5d6f91929c2b2de0d011792c4a0a2c60504938d6408e64dcea2fe6e2a69f240c91055f8ac6ae36276e50514e5ba8ed79e6392f97b03704c8a6807ac463bad18e806ba48abf3ea261333b8cf8c82bfb3a3a1e442cbb6885d146f9cef17ecc3f22608dbc8c2638489398bbc4b0a58d80e525cbd3def4f09cfa4da09942c981a553771ef26a1c89be4c56058299cf4814fa2808383473b61f02818a8cb5541e64f63de5f7ed365d9a946d0f2a497295ca117bc303ef210e2f44f997c2f9eafd91a14bad452bb846f3bd516bda204cab5f310e3ea4b1e6d88813ffc7589a3537db22998a58482c8e82bd318be388283fa5dcee651aa2a4352ceb832f3e025b6b1fec5648fe61ddc8d57047b229588f67d041f0a013136fe8a2665c638c0df634ea7b23f878a7545135d0b339e8a1a74c255fe9088570484c9cc84e9c8858c2efc155fa1f303ef61b315fad38c4a1cc014adebf26e8f220fefeb944a18be8168d9b6fb9bc08b3ad63ead83462dedb18adf0b6d2cdac4be7c67f4a11806b83d025ef1804a76df130305cf4d4c9d8dfb40a0dc887ab51134c9114ad8f6f846ea2a4baa698ff4ab447a291489fdf52898b385e3e865f7e7cd18422b96c2a8890c34bc960cd550683b58950b702618924aad1016d722a4a4110dc4f77d77c9d9ffe735788dffb3dd151a1ebfac6c4995eb71639dfb66fe271f6ab9bf8d2e6e612ec47d2ab82c421ad9da2af2b58eb45969c052da5c9b69bf62cf2e7e759961371d444b71bc18250eab076627224c4bdfc6eae6285237a5a91eda7c9a1bf17d21d25596f0d539e905af600482423bbc79fa379f19812bb533fa3ca681cb7d6e9fd0c27344b496bcf8e97ddc6be8eac5a55d4bbc08e51498c7852368b211b78ed122c8f3e640f28427642cfb83106032d251ca52d436ba282c3c461242f5ceb652f30f0709eb7db4c07529077540afdc6532d237aaf1cf652231b8b0270424a0a7fc3d02ea5f4fcca28a2ad72cda5e189eabe8feca393cb75e76b28e829d44ba5052979cf66b15a52dc15163c45da040ad9df77e2636e9cdb55746a6c8f75b39c9e5122db8abd942679791574812d03bf69df1974a48dc39de02a54be02664642ed96d3e47b7ea64952c0ddf8334aa08e702286a44021c4d4da5117d528d30b90faad6e0495bb59701e429f5b1d4bd1d2528cc25c59676775fb1d985690d1103066fbeba3367ec5912829400a2d1bd22df57b71c82b0368a8eca4fbc92fb578978f270bab28bc6b6fd6e50e54dfb5a75c7e85a32850b8371c76aabada6dd386cd152d0a15a188a883fe5ec23faee5a3e3ba9c954e5e903b948f69d3726bec18d9c3938e6a38cecbc256ae3e9cbb9d4009071723ee534b696f8e32c7abd188cd129c739a7ba0ff5083f0019a730baff394f757d8cbc3d84ca9d17f5126d7f3a5f174252cbaf4c26f9cc6b5600f0830bdd609824a45ee120fc6a4b890da53bf103f99e100c65906fda712094eb7ee3fdf326ee1d195a2b67aa3e0e65913ce78389e8d40773433be10f4704ef519111c27ad46f3842e2747f21e275a07167c8d852f5b806b07835d20447c5a9c01412f41377f2f0720953033e53b0c8dbfb9d23dc49506e6bc4effc2945acb07eb7b60972404c02ca52d584f62841c4ec51e5eba8d07179d1868e1c024a7961ba8d752160b111cbdfd05ceb88a82409795074d78a13d71262d3cc55a092b98bfebb48ef0dceef927261a0b11711bd5876707c88ec74a98616c2d523c739f5d15bbc2f84b530d5f11de2de3191bec1ff46e3b18483c4dcaa5f58117284c071111d335c008131262f9a092210740891ce174de88371bfec85f980da851c341c2f508c71b1dce4495db69e6927f47521e38f68975d6b2cca2abcc9059decdb1b1f8665bcba9592b707e025b6cbc1d15b12ee314f4ab8cc35bc004afb78992c669f671baf3e33e9bf8fb87e7e793b96830753ac6530707fe02bb86f505fb014defe7444fdea2a4d5bf3c863af379274304b86139798e07c5c319aab958c878e79fbab1d0baaca05d87a0d26bb1285798bb8fbd5acec61f8b7763ad1845e2be16b150383c5698686c714aad900aeb4c1ad0d1cd1a3c96cac5c3b25fdb6fd3bacdc767e12ca32dd96a775dc372493f99877e504840c150ad86cc7f43f1b68404b72f32444e5776e3b2d41c26a6a16d91844acfee71bb98ccc3ec9e1612deaf7eede83a5c4fd04b35e4759ae2a53fca6ad8ad645e32a8514240d961b5a49825506a29227b39361e1bf8e21f17cd18bd9a0ad2f773dd2b28f9fc26f0d1612b3f64bf1afc48451050bc3e5617d0d8c071e3ba7c3b978162143c050bf90499107a1a7ec03abf1ce6fcdae4b8518576655373635c007b6fc70d961899d5ac2c57e10ece1e11d892f7df15299dbada504cf7732d7666c6c1ae5034fe6c05b88b4431387eaa62cddd7b6c3387effce7d8aae9062d09eaf8088adec30635b37a583146f6429da219f793d190c7565cf42c61be33363f6d341eb571d21ddc33d4ce184ff63900f9965152434ac4074d4317988a8db4d99e82e8aec9f3188e7681e68174753e965ffaf369ed7920c9e84078af64cec9178f8cb78b096bac3c5a81ea05fb107a460720bae7b460f3545d51138217ce9a61591e3d5d675d47f48cc8a0dd8237e97054837120519f57ba827bf753d86bf8562f8b146a04b3ec934270ee62fe1516e5081393c7b2d7af66b7aee20f697b2eb71245b1f7ff19cd48091ae3e069c7dcd2f707f00010f55ffc1b9a5dd05ef70fb6e2645297d91e450778189bcbf25caf8d25f29a0c243bab8eff52669a208c6efaa58bf640a8cc735bf776553c21075840ab9ab15558fcaea129fc82ad20f17fb8c5d713fa090d1dd157a1450491d695a3cb9f38109a6f9b892db2c5a20e8114c924f64c7f18f59ab8d223cccf1e5efc8eb02e5e7bd6be523674bcd1ed0573641b7d4612d3a45aaf6e0d547c8135c95572ac2df5a40d79e74c251552b01497ceca5849cb94dfdd8c2986e08b4b2c2ce1303033d1d3c309047f3c6129d500db5d6bf6dbfa3422151cea2a26e28772f33734c2b29481e7a3a1e05bb1a542593f8de4d6b8fa05b16a8f79c0589f93e90e710928e9ac71c80655d3c8b11408cc3c725f654c5231fb74f2d72c22a909db41e980f2255ff59e696fad7935fa896751845b3c6d0e3a9072a476a432e1adde906b9912bf83f517cd402a3323d1e071e9f4f29092329c93af0c06f9c2e05c18c4d1b1b056ea9324e94fbd4a5a95fbebb58adc23f12023333089bd5804dd3d06f961959f42733e1bda7f1a4a6ccc64bcae6f094a20fda0b1914a7b7774a86c5408e8aee91ee83931e0805ecb808eb41795ce35d12446e5cbb65941d298b6e94ac47a21475c23897826f59ab58c6317d01d52c4681f39c5745e60cee0067dc66f8696bd1587d1c8f2b387fe17b0c871c69007f1dac0391ad4c89fb3e92a0a76075b0b21cfafc3707e87a4d71449ab086a6ee14c300d1066ed957bdec4c88a3088944b6546c5fc5a78e8ef519b63e4439cb3c169eaac855ec8fb5b01a21af585c848379066e4f0a93f74deb01370a047ba795c62790047991dc26691c81c426db676d9253a984c4510dd851207670f897fcea866f624a1c5333757a442c4da35d6d2d4ea07e001b485cb37f684d2cd607a656fca87b5dff71c5f4c636fe2b44723f22a4841b9c6bf42965ead046b28cc95eafce10c4c3cadd99b79690be60104e8828c8cfaba74320027caccb170097ce1b7011a08c9065fb0fa8171a913f4bf7541e320181966726b9307aedcbeac218a59235402df20f24709907221dc6061d60ffbce17f7deee973ef6a29b8496ff2caa06fa8defa6101f5624a9d746a64039450e4c62a788bf7d0091ca79c4c4fda7960ffb89d2e3cfbb31d4bc222eb94a467cddf8c0298aa7d95ed1479622ee7b4a824f5cdecd8166e509dd805a0d67b54e79235be0b31b276802f83df6cc5b30850b54df472d6141cb931931d61d1bfd237f549e8630c6a19fe9cb7c1323bb79ab2539c6ec0ce08fa97afeaef5eff31e1cf04546847ad38b53c3deda132735ce912e06db855e7bc61986557dd423c68ebcebb255a8d307ee09ba1d04b1a55d86025b6c0b7fe9ad2e444a0388b1e2d9add15df86a6669b579ee7065824b004bed2a4da749f6b40741b47e45c64c1b71931913c7559584370e1a99212f75307d87ac5705c766a3d8f28e79354f7a0beeaf48cbcd2324252ac6c5a375ba4967dd85bfddc4e26932fdf39681ff1ef21dc07f25ca4d1d985db006911ceaeb907156a3e035c59796b6960c77d18d39e5f0cc30f7f908aad255559344d8e15a05d13adb69936ffe86fdb68ceb00bf9526688128b88c82c2df8fd7e02bbb1ed8fcf0e05881ea0f0445975d0b89821143b3e895cc385d26847f8b7a3b873e343a906ac587e12dd934a8f36e0d368f95963356651386132dc1002e4f180d40e8ae793d67f11bb9cdb68da9a0da8b365e21bf49e028574ce035c2a61e24941ba8072cd16d9765582ad03f5611c6d8d4fcc0f1f751bbf006cecbb6650394b1fee5e9ba88165cca50fc0d9fe1a701b78e6ddd0444f27fb29413eeb0f531cee34f4437619e557d9dfc1420b9938fc1caf680ef3b7a61e7726e84b6c1cb66c24f7e291db0305ffd5dcda79105e886f10f4f1f61abbc6c558390861ba41dd4eff27ed61de7d637320d7d60bbc684c3a8daaa94932eab63074a48341366af7ed3f09bc4d87e88189b273fc837bef4d048e80b659f658d87f786ecac7dfbfead3a14ac6c5de0d072eb94f59ac5b6a14436748cea820cfd8281d14d70fb43a07ea9e21071244f0a552a69f8f1489850509d82324760dd1faf4a7ef0ca62f5ef1566711ff1ab8362ea45bb1d7bcb8bdc5cd541bed2422836de671f33018c4885ab1ad67617c4c7a69be28125a71d20e2cdd1b15899f0945e0b264e84de553a1bf5543054610f9d73f6ce34b49a80db2e4c448b283368100720a4c8e0b5fce76eb4766dd7998e14459b5c9adca1332773d545f984900f88310f113f7e3d39866e016c169b7865bd02af0e9a6d8dbd22b931502f52ffd183ec7ecd5835eddb8580906847c0dea6b73b1dae50e61fefa9055f0f433fbf4dcfbea28064623a529c464a2b92949a01b8fafcc93b616df11e9cdba7e2565a4a687b8a30773756332d6682214d6ecdd2fd0a489a1516a0b5c00ffd21d8fbb2942eea31f42006762ce042dc4474b7bec2837425f8f574445572bcc65b788e44616350cd7274ac9f1fa5c634a44760d18a923657d5901838a5b18bcc3c4fbf01fcb428c282768bda8558eeac7d6447ef7240c91d0bddeb287caad1fd4abd3a5e118ff2b7a37d6d541d0c913fff9ae34d1030cdad44daf9d68e0dbf9dc22025cfb2a260451a1ba2abcc91125062a4b762dfc23f92b64fb5e098de49df6f9017912403d9ddb3705d0d4573749348e6116913d48264b1cb395da967f9068b1f513840b3003d6f467ec90e1015e796189970118523523930491f41020eaadcb4be20ce7df73e13156171418d3e35c5978af946170a180ee6c3ce08112b8f2d08e78dffa7a532d96bd313761da05ede5ae6f9db0f6e0edcba96a99bd7e95493f50cd59852f7ee8d9b576fe3b83bb4de7436629226be90e564489d485ddfa6df57c2900bfb409ee29a8b37a59c33bef71f160fb87f60ae67500b6b5db4be8e7044663f7727683e4060af4db6e103787bda2fbe3744e12810fa0c5bb6ad90e319acb03d96e71049cdbd3b1ec226ab7270018014d2d65d0a13ff23f6fd46cb3564d1b2fe7bc898c2b7c86ab3702e37c90dc40c40af7645ebd56b286e1acf9727195c0b496808b03e21aa942a1a6449b975dde7a299a1814dc2aba9563f361ccbe163fc71babbfec15b217d00bebf3cd264c13ccb93c72f026dcdd3811886b80827bd27e7494fca9ad7315f0b744657a3a8ce23673158e9e8ec71a82f7f5e1c3e7700b2cccb12a933f129e16f490c79ce7e47a11d40a7f1ffad873889436bfb983ff3c2d554f799b4b2133a6b6fdcb46b4018a1ffeee558fd981ca07066ef03f14b84dbd425522d927e46a76a33833c1439d980afc8126fb45d97f6c4a9b2402389e3b2e13b5a6003800f0a907ca9a50632f4afa355e8be3dc2befee5c99c8b60d8b8c7939f5b417c71f0d09739664bb3f1c9feb7d23e29852dc7ff861d1f2f0430321ac0003a080727de98e65aa1576921f0d16f704b7413421e72f1454aa5072acab675b0e504ba1d434de50d75cd6d2684f5c9dd73c7bb196ceb0378edb1a53eb7353e9f19f67481dcf569d82d13bbd8f8bc578089ee3087f8c249cb3b30842656ccd6bd052b92c2506623c4e2c2527616cd695cee0091998d33f7d68a7de5ee6288ba7554d0f9f57675dcdde27d3685585b8062092deedd635b506217398ec63f0187ffceef902aca72474dc673fac0f3c91aeac71a7749396df33e0d506df5d9cc0a364883e499869515b8cc939c5f16bea61acb5dad6a5c8e4914603f8f2a59851b2bc4de2276e443b6d934cc62824b8caf3de4b90cd76b0290fd53cd865df35c15ec1e51052d71fda628935ce5b6b00839477701b87cc967e39b95591e05da5b62f088292e6fe42fa76b92dcecdf57107850a8af99190f6bac99f3f2bb54a079d43b90333bfd1f25f38d89da379288fe60137b750152adc25222f308148ed28fa39d0f87d0729fa266c86070bb0dda8b2af28da95c74a6ad9d37ef5f22dbedf654c028cef89c67ed3ed4f63659274027905e5a0d2aae375ec06dc42adec3bfbc0fa9fcfbe74914be98bd994bb57f676ea685812bcdb8f356709a11e3d82eba821f23ddd9acee482ff11cb4e9926765a61e20267bb8d73910c7d3323e1d3a58de80e18ebb1bb136465dac0e5a9d1e8ed3a9b6fd2f83b55d761aedd6e57d51e77606477c92ea3bfbbdd35f94f91cdf2837c0f502ece34745ea0b37cb64df20c64a6521477fec56e834c7828b797dfe38d8df9264644cb816dcf86bddcd946c8bcaf5c6d89b5aef2ba93c27e000bed3471df8a0b9fc981f73d738ce7ef10c531ba4010513b5c37750a396f448cff52c769a24312bb7655243f0dc425fdd166b41e5e850f7c8dcd292ab957a38401117c69006168463d7a070b2b1a45f3d631736084bd80ef748dee0857e083e42119d93766d0314934e506eeb1dd12a13cf4b166c962fccc75604413fa5c4e136b16b897c8e80288c4ddbf96523922922cd59a2e86946a335de02188b9e84eb036d5ba37c3fc4e55127d56a8816086c4e352824d3ac841b12de5b13d62068a0f4ba7361b7a3db9c4725958942a511c36845232d4e4c3c12fd18b4cb9c4f7a2b2a1de8fb80e8126abd02391282d4142ef22707c5c7d12d48ef154094b205a8cde9ecf4dd946aa86faab38ca16b122239de1141451a4c2fa140a82dfddf626c4f0008e54820132bcc1bb468a100a0cf7173159bc9d6d3e7dec7a08842b16400f3feefae72d7b3d8ef2f194fa6f1ba55276b4234e5e3d3edd3d1a5b974797658fa84940bff760a2f80737fdfc66ae847868f0b02406867a3d2fbfda4f74eb9594b9eac67427c4a9cf1ed94fc9617ddef6caa61364955096aef8031051ab98b69fea7188474ca13d5fe549de62afa8a7eebdc1e61aa64e4a92872d272050d9f1aa385459056eac633a8b13d5439070db86da5448305e6ba2871bcedf0899d07a67fde44ca828e2643781222d894df7e924f1bd5e2e7a353bea53ccea1992934d3e8bc4285940e97c6321146f427a3c153085d9313b219f899acf58280e6e97806ebb8a7d5fd8f03d25e012a5a4f030f6ed8403f3249ff3c9506b54f885222371e303478fdaa7e1b8a582710cc7558e2a64d1e6393afee4eebdb49e25e96a12adabb97730860122e84872f085b392af54670924519e665a4511fbffeffa8766bd6967e0ee606a74a2d920db06ce28d0cbf357669cbb78bace9e5b2a4a1af65794cdb5bc75e2df030528b687fe6efe332f0f657bc9356c0ab323ecf887658b938f990d95425dd5fd7b8da52a08aa9b336d5255b1f1135921cc891ee892f0653f69cea824c2b6118eba95147a74fcc8ddc3d26e96076dae40402aa0704c7494a6cf6e0881cbb4915f70f79fd10e01c2168a01492aad1307e60a347f02fd70670f55ce268f9db46505e5a6f34d02af2fe3eed2442adf83211d850017161a98b8d92aee5abf013baa17d25591a050d0185ef9e5dc277a9e9791a6c3f7518d455fba616f65c5ab3f0ec7c85d88b56a035cf821fd6a08269f669fa912828eb18451bd28f4c5600b8d84e6b0622ed3dc141455ee907fa68cf96c0a36b094606926a6ac02bccf6e3a771043b8902c4a884e4f6da749053c7a6fe6ded500ddbc547af1796a3f55395fc352d8460b8f42c6c8e5f78d0633b98be74501a843ed157ecb3f9be1a09afd3b513c702750784a35666b57108a66e16f3bc2c434f06816e73515c00c065b5cb524873bef54a220a543de4732834f11e9958b71a7be60c42cd57a13c2ba37d1bd0d6c0182ec487f55f516d5fa19802e629120caa341f36a2b1edcff7a4e38f11d55d5b939463fb0fa03a6c2a27ccbcc048870f23dd975591e7449869888ecc3350cb73961de276b4795845b125f34ded9dfbc5011ae1c1c1d0b854a0c6d9f93a5a2889fd6af30afdb28557d6973192941bbe33fd8833c254de27b59a2167fcc4c72773e73a708aa46e243b630b19a335dd2732cbe3f1ac9c9332232c839357e69157bf58617be8f68df0f2003f8c9fe5442b7310ab7edbee2273d6de7712f652002dff2d0b125db929a1c46103537d17b22ad39e1708e4a4a7c0e8d2bbe13bda32d359e76c8c4f92e6d8f6246210ab9a56241eafbb5253698931c7a78f5287757a25d2d646c08a919e19c09efd45f7456bf1dc7b2bf7b56d694d9532ed9acd5c7545c797fb447f292266d9292c287fc67d6d22998a70083960579e93ffe81d5e86bb18ab4ba4a084e180f74c7d23244ef56a722e69dd4c0721e4662ab62eb30655ecf3a52b79eec75c3229c0bb5e4aae2151a9e3c5f5bcefc341be6e59dbe3364887407a19b877b1de333005126dfd60abfb99b4dc1380b57deedef1cf0cb1d121edde0fa90435e4275c7f4d0d1b9088ccd9371939f788fa50d8f5f7ba096430472ac54feffff19b8a8565c4522fdf91a75f735c792aa09b41f956aaf7f3ed14ee56de2335c2fef2a62148bbe6f170bff7cff41f648fb0863d05f4a425ee86df30df2079f19da7f67d75741fc4a305303f21367770ad72f4165782d24d5a92e5a21025b1588be0a64ef2d33772b5332ce5320a13e0c27dd53a0baf37dd1e0d0e2d3e70a287cee090d221eef7cf675cd184076394e3faf7bffa05aeecf26770b343c38bc11ec1c0cfb0973fbdd03d8b7167ae4e3cc18b417e9a7eecc999415c88da845e92bf7e38e62e5f0f5317f57abc9afb61be99cc624ff4d5a6f7ad68de8d13aa6377d026f90036700839bd778e6251715043484e53e8796e2bf970826a2169d496705f96e1676a8e09deadee7b63620e30ce7971c1071d918379650e7dc778191ec09eddcb2a37f3b5149e53873cb1a910ebf67f80accb8874ea098791084e9b67a6b5eb5f9a50e0bc8c578a59de1cd5a25112947ee3dbd1b53406d9a754f45af5c161d54cfcc1ba2fc90f35c547cbe1f959949b60db42ba04a6f42ffbe8780f8b0a30f0137628797c3d7d886368b4e906166c085223200cdb7e46f1eea7cd4c6f9a08c437de6fd88d316d869eec0f02bde0e85ff3cd982c7a4f32703d5926710883a5b38820c56645be55a63b10d3456850762fd9f0b750d68acc62eeecf4ba3f7e912d2d9660a1741784f7c8f8adbcaed2f08f884a284b27b9be0d2c743a3749607817418c18be4c14a0fbd987bfd5228ebbd11dcb6bbab729d591b32d3500c7146ab37e903430ce702fc249be5c0cc37f8e05ba3d151c4ef67ea6dafa1360ed1f809952efaae72b867c4ec2c93a772e2d4663a5bb63df5566adb09a4a516212da0f20a80c018f40a29c9a85350cfb805662179f721a1db8cae1c9c41f47df06c74c23be5791d33b457c67223744b544c2a60943733d8150c7083d38de6f28f8260333f5456a7728753636fd0adf53b34274534dc3c4d87b382bd4369d5f1d609d5edb2624145b7812b3f03d79781cf1540f0cb636c34972c66fc3977c8b844cb837ed7167245eb7a8b9962acdff2f6c36fff6e35c0dc9f5855f96ccf451e358fa11db2d6806a40eb7fff270c4bb448aa5568b6375fe61138fb54dd32a22b903731784e65c6de96e47ac7d2de36a2d3eac90486ea160e87c30a37d5697bf05ae727244e3d75efd04902b9797d14765d920536d6d6bb7e700628ad74159cd4ba36e19a4a06bc39f55fd69bff2fdfe7903002acc88b8bb2f815eaa4376aae133c033247037132082da2e57807f579fc506d7c80870a8f5cf7cc9c0c5bd1353f13ff27f64caab6a95319880fd819d2ed8aab113ab2632f0ae16758f8ec9d41378ed4df4c2cc3398f16b71fef9662cb65b903522c5affab9620a18d690c5c37154f0c9c15c5d1dff2b8ed331efe3795a2d70228bdcbb9e63d6dafe2e7b7cfe85723c58f9bafb2dfff44ad37e78ce020821f7347a61972444f1b476379eab6014874577325195956f16c304959c352b4edf7b8cad526205b8f27c4bb76fb74619ace5f3abde7444e0c7880df24c207c65718b81d91f1d586d5ea96de9cbfb140735739c31c06232d2391acfb5753a4753209dfd65ffcfcde804f0bfb5ba6f1f68a2f3cc38f5fcf64eb7118954e2b56a6099a11bbc0871cc0beb25c1f2cbd3b74260c35032cce924e231333f8cc4f8aaf995fdd6583b86ef55f7ef0e4e3bd619c25589ad85167a92650fb18f326c7f80bf60903835f010bfbe43360bd0e92cc01eb2f45b4226cc14a41ee495430aa7cc7ceca701d9901d6ee1ab858e5cf63fc039786694107a35f5520e1222f42535cd65f1361ce5865195cf19c6ca132741ab0c3cf569014b74acd21075ebe6bbfa266d13c4b6f5c5a98a819b6b5257d93b077c2e76782f92b9844e1e963d57985d5eb2227012ffeeb69e5aa801b5f075f37aa6ce5835cd36b1add3107603880d5fd37c261a3cbea5dd5c8ef666867eac8a9f3d3d6a0c32c3672a5db1376b3329b064b402e36eea3b0f7b320f158c2585ed4a9ec11b377f0a5cf75974803c31fe16d7b1357954382e159cf54cb5e7d4a53abe5787afd5a29d8baae75c011b2a146618a6f3c81e709bf943f5bcf454dc8b9231f35bd6ad5311f61fdd0aad5c3c1d9f3b5d3af1808e7b4e3326056210bd7cdebb72bc0001c0ea289e70989dedcea3a256cb5f07a45ef2bfcaa86967c87f3a8e4ddee6a2b0b0eff5777317d52e89fe96796ae9997d9cccbfa0bdc02343f85dc5246a126e5ff31fc05c5f1d6fdd0536494a0fea1aa21963ee1edfb5155186d067777e7f5d6aad09114aea597c2a129cc3cac6f110e2eb885cf03a7f35ad67dde2a1252993dcb2f922ae41cc56fc3a720836fca6094a93e960f2725d5c5a0fcfc7f149be13629896aa1b43bdccfffa20c05b900482ec88aa7eee15134fd1aeb4bec5ccb25e2b7648219cc119d855581252be3a27faaa3f93314bc8709d7614da0bc1b85f53533fdcaad09bc1e478061e727241495753541951bf4a6c78327534c7417b0ee5cbb975ef3ec6a0814cd23586083600a0bd30451bfdd05ca6f30d6b29e90228440502d7b794005fdf86f8b59b18d98b4f64990ee9b7cc822052416d807884ad684764b34e3e43fffd008a6f9bd7f08a0b9d80ac44b9d0b493ca845d367d99f3c657804e02a9406b814894b992e5915edbe78fedfcf5ffafbffc0747b581040fc6bcd5f461fa4f89f669f394ca69c8a8786ad4e76c96b0ff65824830e3e154d61fc5a98c2a7ceecdf65acab4adf686753dae4a620621cef466a3f85f2220c52f3a613c14a1432c5420d5a96052bbb768d376fe8a0d7870055957c20a215d8f34fd976162dc3d92e5dcff3ac119b6e43ce5d7af6ce944be74eab1cdf7e25d1a41f3275492239dc4ac4afc6a2309dfa71b97bed38ccdbdb5650db1644b7c8b8b10bc171328a0ddfcc10c7faaa3477c7a8404133dbffa176a762539cdc95d3a0ddd4d9506b46a808ce22b71c1e0bef8422423337ac31c88a3488c4e3a1b2d18ef61482f7416cfc1c05ecc926f6626e59c8477acc40ff37843e0a7b81635d445bbcedf065459ec81a9ada819b90e03415fc70ce2ecda6142901c32991c877aa21a0546c66dbe8226c97fa5a5226f0944c7683bf61e2100205b9176de9477f82c98bc567fa2d7d579a21cf892a47048337bb91d0a312b6fc2ef32ed5bd194acb0762553966ee276f8f7de31f85f0e6f7cffa259074ee516b65c6d1945110090b6876e92371e098d1587dff485aaef5d592aaede247ce71cf705ae6739b8b85d0336146e4f6891233e7e74009fd21db00c808ef5a9ff114dcfc6c6f2d1e13d5ed80b22b0a45e788b0f34836bc5cb850678a4844771e6ce893aaaefbb31e1b0239b6cc21467877d26b383652567b81bdf6429270327fa351a9dfcc77fa7c977812b4b61d6f50a7afd16d989a398fc8e47f774ab6a810e5ece5962a34a497d5c9f0097d3be0a94cb23216dd014d95de143ab72adaeb2124d86d5f1c2d771616aecf940384e26ee5bef9b70d76ebe18f55efaf403c448e503042e7b4231c81e5cab11df0e4d6b937e5f0ec740f805a2f519c711c5da750dccdd85455f60631bb828ad2a2c040efc10432b35ef20948a0b9095a1f983a7258fa27a234df688d4531a91fd8b972da0195d5d4083235afc98cf5f1d5fab96baea48e9a7cf9d0034f6e4b000378d61a5aafe90f5e39a5738689e3756483acedc1cd6230e4d114925149511b5149ac578a3926bdf76f1a6963f55d3e34d4e38e6e282a71c84582f927620b78028f05bfacba45da8eb62215b6d942196831e848cc7aa37c73604ccb962b08cbec5a76aea63d5ca6f043a87e5acc3499f19ece1253107b88b3d53f9b093c9965a4b8bdbd9c3b0bc3b796a8f6232918d19bc3e4affa675e033b945e5f2ac7f4ac98c0e258cc32a3e8fe2d83134764182eefb8d95ea70135524459f0e2630cdc82f75d7712cac53713992966f32a6a0e7214e4a6f5891030ea9250ecadf62b7c26eb283579a313b26ddeb7eab4a6e2679810d34ab60d0951f6bee5b5a293daa6d217348cd905ee037c16736a8abf2f6ba585d802cabf0f6280ab37cefbb207591479884b401f6d7939770ed99a9bd89d69ba09a31320e91e0509cfe3987f2bfefb9a925783c87013a67699d0d1260a59d1272dbb15f8e8b0217215f27dbd186f5b0af22637e574e7b5f249fe3c54c3d5b3870834d8bcdda8b9be5d60979cbb06a5f2eb3602f5094d82aeca3454ba3c6748e94f2ecbbe9858d5de6ee97dda69845ff5c15007355c7f1f061213fb32c49ede7aa560aac69030ec3bb035d29550b98acf9ddeaa404ce3b2d6eadeebcc80d3b0062b799daae115998278c9f8532779c3ee9fa43e4ecf1e01b4a2c1b07ff0751bee06b1f92b61396e3bd9de85617e06ca23f1bd3b913ebb1eaeb31c9adfd64a4406bcf8c8b0455492ef1dd855b801bbd3b5129df7b3a5d5876e419e6ab3001d18005158b3eb2ccf84d5578203d74f0de4b60ccbfe9725d859525ce4b7c17140c06ba7eda8d96dd0f923e15aa60d2c134a8eb80080083354231e0fb7bbbbcac5c6d9aeb78b096abd87dac7e189970e93475c1f364477de412ff55a7e5d5b1dd6e393fa69c671b78953a702efa37d07350fa4856d4ad80d810606c10b1380338d2b8be609f11d44191ba11e793a7116f5e43a155826f0f0e564a44b36b53cc7076fab19f75f041c4d390ec4478dc95728c6848a1bd47eb5c085e145c8f29296fffea582e389147089186fd89c9dd3e2a8831055119aceb2ac0d31239dd59d133603b311e909dac16e937ffdef0c5a62342a978c68f91279b8c4722661bb4422e34644d2b8e211cc33f7823964e9e05049c822d6438ce6f2f3fd7b36d1d912cfc59c743b037813f6dc3a2c6ca0931a59ad57640c5801d26b0fe51fe1b6aac04baf14bd6e921223d853c272ef98988a64a6b28598dabde35db208676099e47f5c60dbca8b61c61a03556917727d2e113cc456ebcc3a8f2f0bf9f57966fb1499f02d92171fdb6fb93efe53acdcf54de451aff6c14aa5412cb8f5848c19acce80b2ac9b8a7667105a91a9918333201feec8ef26113963d56f9f4627be25db3f7b60bb8ad68dac0a75ea20f7f0840655f98af2ff4f04bc57bf3dafa25bfa89ea2d960b9cee95a52497c1923ab44a4d60805939f008529737737eba72d363693028bdc1e9030ccab53dc6a9b083a7985a76a224c009dbb3a1521ad2301cb101fcd4d3a30e2585e6a0680c2e820449f4b24eeef69a6593c90d321997fd9379e4afb9b2fdda3e7270b4d06b3c7702ea19593b8b085883b5fefc815d17db2210cd0d10c639fa6a92799cfdf6a4258c87af707ab1251ff1c9d0b6f9010e88eb6902a915002ec4e207d486e5e8abb9b8bbb3e7dada3f820062c62807d272bce4888d048e1017bf459544868b1ebfc5d21b61525b644030268125b476cf39f6efc722b05d4b88f6b7655a07ec62e5e23c9480796cef50f67c25111291aded9ef4f29b622c75fcfb1fbc02fae6f54f6b93ba283b48fd8f023dadceafe833fc8d3676a74aea3cd42139443f18f4dcf7f62d30f428b226ee8bf7e31b7e10a1495de1601777569badbf0dcf43ff6c2bbb48a961c628ec50e2477f96940ed44ef37c1948873486bae17d2dc9e8d8541dbf0b453d60a7555c73626abc8478d8299799cd38e28a29ee01b7faef507a207b6fdc986b41cd0b79ad5d1244ffae20654769f28e46f3584bf04064fe4f785a15a6031ea15bb64a2691762b4e4fd7ce47a15f66f46ae1b977439206eb791fa22b0646b06f956500e72cf8de6f8d61d3ed10e375075f5290bb6780420fbcb0e26c4a178dc396ee16386171fbe1ad1c0a307341cf1e145d990e05290ba74fc83e07a51da7f5bdc78f3bb53b9d1e482d836638676904e21db2df66816644dfbeadbe23221a1ed88bf427f6c740255ec1c6262ce510866e090d4919c90061907b5e871ddc2cf9a3d38466a2ff4ea11062b13056757195e849c75fece1b75aacf51c23cda9bea9973fb1a9e5e643386ad0df5e2ec25f184d78921de3d7ef83cbee77f0f8643d859d57353e3855099545bd22bfb728b1dccc39aeaeb4aa11b8d4287f96f343cf3efb5449ff71af6d55eff37e7a785ba42886346f02b2ee1202e4146e081aed0d6dc76fee7db908d16a49855a3baf68287ab0086fd7cf0c115ecce65bf3b698b2d10739611586f2dfbe0ca8d1a6b8376dfbe6f56ef0d1e35900d348d11b1c519f74c895771a5e01319490301b3f079770a5b983e876fc988b05e33a35c79d23f20ae236c4c04d14c9007a99d00415c03c6143c9a89133ba98aa49629be852a4767969a19c0f854113ad89d96d1ba2938bc3f3c2ec912b28a776f2623abe819e3ebf09d6416364e1f865009ab5e1e489ed188f69354fa98c889c7dff915ddb878c0fbc278b4ea7e1fc0caacc7f3034231ee7db159a79266d0f54450e1aa082343288f168cff56c60e7ae77ffe8d47b6d0ff2ba3dd15a1086e1d02b766b32a4e4a2cc2dd13a6378c00b3accdfb4350cc5fea3912f15f7bdb30738f6de23a1f9495785648abebf3bb825a884a1cfbc5da9724c0fa8efa11d224dfaa80280c6ea4068a96de2d81078c80461a0098d8b98ab745055c0a7a8d0df44e77e6121a622b9411b0e02fd1aed2e1b6fbc866ebf1db79e3b2ada2f3c13db72d0bb0094a5e665343dd2a33760c6e9b817b85a110523cefcf1c692e8619b2a7d8708759a76968536b5c37a9e1fadef6d6b45406fed20e0cbdd6bdca194fa9e07aab2b694eba30346222c17bf856a262d3924cac5bc1c57b9ebb9f90f5fd87c69832d4c75b2f9f52d1f5589c2dca16fe4f0c3478e964bb210b30918f00e40e81338be1c6cd3abdff0c78c1d2cb1d6bc08a16f2b3fa779f119d4ebfaf1a17185e2fb3ca58e1d749887c7570bb2fb7ef6277baaf970c34172d014473b6cc1711e75a0db6c9cc7b357382d3f193e5be9db3850558e07c9e1fb75862beffcdbdc7547c9458c7bbef8f99f8dde2530af640591567c8fb517189ed080c756c65c422b1a43e535af513cbe2e87d6e70de193845b05d0cd532473198eea84afc0fbf02719f077e6389f6f073aedcbbae09833b7071cf6cc4071202c4287ac923e1a213ed843fe85691daa7f0ad66b1082dae8eff656d29c986e9276a012b89735ea10977a91889eef6b1b04825c57e97b4fa8f8a196ead3195ddaf85950f431aa7c9b3a083fba5d8263e51f64e606d07c2685ad61226e587fd780dabadd9c9ed9f8a51fe62f62d7d7fd6a9ba60245134d1ff8f0f29d3a4c711c95cc1bd3c22185b2dd31581bc5871ed5dc6c01ea940520726653f2edbb2cc025ca4d4c0b99d79b8b0e5391f65fe6062b5223d79a3f9440f70c83556c9259fa18add0ee1701efe85641f8afc4f46656315b550429cfc6d255e3ca37e329b7f9d765c913d0fb5f89498660e394159ef28da08980c4b9fc20f44c809f44b54c0aa6b6aebc261eea84bb9f24a0288b4eb59f62ec2a032855f5342d083ae59abada3fe817e30f533a3c22b87c98c30824ace64a778d732ee3e4620259984b262b455814cf9d430d1932645ceaf197a9b8eae2ccb1f33cb0ab4368d779d949e80df452b1d3979f725064951c8d9cdf94ab3721c2e98c5ede97553f501e9b007116afb42c46fc47d08851fcc0242fb144f12d79de02e6dab7f3e1ef039c692322191630f6050d09a051b41435aeb9f69f11a93d189ce8b085ecf370edeef5e514cda45750c056ec5c3051510e07bbc59e5e52e8884a373027ca88d2b64f6f1940fd4af8e3810488f9e09c4049bcfb8ee516d1750c29bf703724f4d570760dc9d10fdf2178e603a60f512e5fa86f86f0669be1a9e5a1e7362c28e03ecabc1844814a2982b9238034724d6a82248465b2ad17076f54ba50d2703486c2351784819425682d2dfb4473316ae04ece07d2e1d921cbd171391d85c744e358376e8341d414b06304c2cfd346360494643c8ed9d1c01574f887fc6a648943e49d086380049c236a38db2afd7e94e7260247dfc71341c1a8c506d2a87390908d81b7a5fadf2b83f332f3868424538978da500b0ed0230453e919d37ba407a430cd0b11f6922809a394abd03f9e664a99275dc74dc31145ddea8dafe45754c4b4a8b37dd1192bf4ed574692ac5f128fae4a25abd299e68b17adcf5f1ba8ebf899ea0e3cdb147b2330ed886b9217a9850f248708b01804fb88caf253d1b7f887a777a0b2afb03b897aa764367b38fbf586c04a3f357ec28eb514b65782e06e53012c74aec820845e395b7b03cb25c0d67f6c98c49129a0216af72b309fde487a209879c70c1b5211bb12620ce4646100279c5b8ccaf2cc91ac2c04bd2e16e5311de3aa82468d08dbebc0234e918b2f89aa05c820b9b2f4e981126f8987461088d37904ab774ac1886180e3bed1f95db63f10eefbba71e1812962a427121b05d54da686d0ca7a2a42a81fbd1b2fe088ce401e2317dba4d4dd3e3cafa28bac4bbf8cb0139b557ccfc2b84121c58c273b9312d165d65cd611d06253b4d95d9ba314e3dc9cd4fbc3eb33c6caca3ae927a3dea5aeb98d4b51a2a5b917c166d943d0c28066262282a987c1c86ef02294da751d9cc91a731da956224d3bed9e6e64565f86878e84f3d5cf6e429c75398046bf9a3e675856a51cdff8a22482d81f5fbee7692f6087d62118feeb8234c7c2e4d8ff5493e877030817c2736e71d09e18529e0cc10da310887aae8e9e99bdc03fe9c0e8716f3f22a55e3151630469fe605cc1730536cc11c0f3c5685796f4ea1392c24709b09438656407a84c0ca73738dd19d7cac14d45748599c85a9bbd45d952d7f093b66142c551a61a07ab92280ac3df45e9e9d3970ce53bae224fee46c277aa47d778c1fcc5d62e6c90005bfb71f6abb440f9e4753681cb23bbd5e60477ab6f442d2f0e69ca7ce7077b70850898b0fff588ca5fb4b612d2168c626c9a402aa5ca19a2ee48b225aa88b6ab02c06222ec9468d62e15fa188e39cdb9431d1f55401ad380753ed15b869b02c6fbaa8c6c26445a2dd2d9bad80fd27b1409f8179e5dd89dc89d90a7fd9273f20fdb1229c224341271a119020a5eee74ccf6b4605730917c864caf2a7950026a4845295d73325d2f39124c09868d40139dfb800da2096a5bef3b2a8809310eb1c7560076ac9e0eb7ae647eb1fda8480e34c2bea1d570d53e190a2ddc2451c223db05164ff4e077027160d747eccf950d3bc531bd4e7da92d2d87726d665d6affd9cd9845ea596c64969eb526144d58d72b504bc8236485e4f959729b6a01e3979fa09af2849b478a506a55a083b6d21a42b7c10cd521cc60c8970b55c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3ef495f34e4f177cf0115af995bbbfeb3fcabc88502876e76fc51a4ab439bc84315d234508037dc13a419ef6ce48f3fc73dbb477f1a162c052b872182b494e626ebd18efd3efd70fec8ad09611a20cdbf99440b2c1d40085c29be036f891d65358fc969dc1c6ff531abcf368089dcbaf5775133b0626ff56b52301a059fc0f9e1e0620647c7e8e7ff7097b3919ed985e28c5f7145e82184bdbe68f79658e63f0c0bde4ba0587e9f92b3ff7059661edab51187e1c02bc07a61f1929d53887e3f5ef13eb175eccc792e4130048a80b13e6f11cfcb203d0361b6435b8f3030ad080e118369e096d502c3191bf0ee4a75589efdad3c5ed517a5e88b067dc30ca28f1dd5b0d55504b262e13867a01016c49a502a5217a1126977ed5227286fa81a874b35a293aaf862adcd1c0a81c98f17d848c5b2d628c1982d30ff1204bcf5d05e420903972c65c9d02b4cc18a28d6b7298bd49e8e9631524389ec7b5883e8c7ca086b3c414806e659b347c31f9205558d257b959cb5a465ba7c83943a3a8ca6aa59f5427138d42e612a6be63f8fc1eb7173c0141db146bafc9d22378a53947797032dd01f7fa84276b09f0e1684863f302fb8355c598f9e991d3ba104d396665604189b4a139ec4b53b73d80fe6eccecc9897d911a75446fceec0042817be31d5446ddeb33f76e91a82421fc652fb9dbcd6e9e613281822e5c2a9895a7a4d32964d7dedbe718e8387ff17339140c693e1839243cac63db52aa3a7296ee50507ae8cbe0799883f6a9e0467dfcd73f5d175590ceb9534e5b1f6d86112f0721cc3489c4b792b738f81587a33d98bee9e34e0ebb17a66f1418be196eec20fe9b8f4c907620377754a9750b4365138ea167308fef6b0683e9db347658aa528bb32b2907482e209aefa053ed97f06b29a35e3795b64ed353838cdf1d4d9e84256f462e153c0c3007d31a2036e863e700ccbf67db6933929d1cf48c1a398c3ac762112cae918be741d75b330b0edb27d2f9d583c283bba6d64d81331c33f1732d15c4c06aa99e4eef682b9df3a8b0521ade6e9daf2442cc33592a5d582d52379e64aff67122a2c4b00f113831c6d4653a40dca2f7533301bc529ee3429d286926813af4a3d7d0424dbe2e02325e50d58ca236aa081caaffa1a146693299fc81720ea6a4f94b8d221fd611d21d414a8ca9abf09698f197c4a9f41585c1d24532a9f56af386a29216dae1b403ca6aa098a31c3e9589448095609fdfa1ffa816aff670e0529e7fa3f3a953cb5f392ed0d965b1482ced707df2838e84fc5771a1df13e692a8bd0d1fa03d20d276d63fa1509fd2344541c80d2813ab1d48c754bdc1ee43980e988f57834f6ab1bd46c1ebbf910f999ea7c3a15c56c14db577add32e263c75400195a80f0a232d9eceaf2bb4af1cbed7cac81d053f638b9414321c5a43c4de9942457d17ac2254241e459e8e643b49469c8b2c1a35e28db4df688d5de3a57393800543b7a01c1603ccc74b415a38150e3d6593e6a3234ea3d5513fa94b87bf5774b8bcc616636d8683495b4d4b62a1d33e690f7ddfffe28fe274c99e6f1b21dacb7e416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d886c13ff69c9f85d94e55e9c52ff87aac41ec50e2e1e75ebbb1b224631ab037083a8807ef669fa70d0d9375347f5552897f76c6ae8e2e6f97ef592595462d8d1525e9160fb2307214090564b916110adf6596d72ad1a807c2fe1e298d14b97b7b8955c86f6121115098eed872bd279bab64b83af333694f70b5632e6deb2e1e93388e8965e2caff40482f5658c6de5fd4930ad611a95711f2175ce65d06f6afe47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc008b5d6fa5cf9656a14aafec774f5140ff953ccff6c66ff752d3b3daad12bd3dd3354115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63e1e20949d3042f5b4bea5e82f21bdba79b66837c019ba077a5b3e128e4ee83793ee18d55ac3c23b5506989975d0d50c87d7b1cd652c9852af6f8cfb349779204001e442c46122f1c672694bca1a8e30c9f2e548ecbdf8a8d35a0aa862388f7001dae86fdcef1cf8c69a21c8e06d2bfd945a1a314e2ec7c0585913e2a36ae022c02c661ad789f6084298861a3d2516b76f0302c99cf2445aebc59f71da7e325294fadc94e25ded00bfd036ff6db2a81ac7b3d676963f596bad7dc1d0c019a2c7a73e283f32945b2f534d492b8fa4e399c6037095e6fa3765a28bdf068ca3f63214dfa4b423ccda379dd01f71529f38eaa9e9df1dee81642d4461ae5906057568581cd4893b49113c44a725774d7944fa6cf6d23a184d44b28c7541d56769f592c2c2354d85162ffff1c7b2523c3c228be3669fd2c0f3f7e22a0fa87b03313d8070124c0c286790840288b6a77c687e3bf6eb2004f5070ab6be834d44916dc2b45f4a9cacabebf738abfdca6133b780cab8132b5b23ea6e6c99f55f34a626a90bdf539444a5a692a9e188dd4dd2dbfe0ba481f946adbed3354c6fb112570531833a6001c8610fd9f77c0d97c5c7668b90bf7ac007a8b9e8583cd5d1e7fc1429c86c558d7afd728be05e67c82f6fed19dd7d7c057b9c54d9f685afdd2034b05b5b0708214a830b28f472533347ddadbf2f562550e2eb222006a6a4be565d1ed1e870b5b20c9b4d74a35cf5e3750fe05d3757cfe771d0adc20cc2abeec4315350ed5cc10f799cd0f6b65f95c4012445497e5ba3cb9f51964a9468940b27bde98b487218fb1c1fc72e9af6b866f430be2a67fa376392b4db2f4dbf32772671b6ae55cbf27ca06e8e092dbb080e4c7b6bfc2daed9a30dcf355123190dfaa0efd02a425d15d8bc266ec7cb84a21326123ce085784ef3804793431599066b5db91825558c9bc807064296e9e84349b351d17faeb281acf8c9c0b623baf5bb0caf588000d5576f85d605c883e79459137e6d2601c1b3a75eaa125943b0da9d10b94623b9ee99e047d2782b5a466de6822270d4d34099415d73fa70522d265fe39df4b8d719cd53ac1ce7772604bd54e86cd3dd3fc767c570e1240bbc4713b75268c9285ce95371f44b07e31d4afa2d2b9f17837387ab5a114a842d0d386004bb78eff57671fb5e181dc024b9ed0855dfc60a1708bdc214a4f74c5274bb78c4ee27004152c4bc5b82bd5ee33d26faf31055a9b418db170e6258d73e4632c17cbe29ddff5838fefe15a0fc95295703d90363fb3e6e00890d7d21d697a578a390b703e040a6ac1b04d472890b10e534de7dd1992fbedf218f0e6b47e7085e7daa510571e3ebbbf13a6a57112781881b413ccde9ededba2c0b6ce68c40a66b037102de93ed3443f6dc29e8630f23c3634caf9df8b69a1d8219072e6fe6dd699cf81bfb27cfa3c0a882033050e8866689b72234c7a84e136779ed6757be9b63715b306ab5382550c31e8b9c32605d759f67cf1bbb954c03a9d2b71d73b1d5b36a4aff81493f473c0911dd63c544fc63e30a9c7d090f5f4224a5ff3c245a740b8c7e01dfbc8ca1e82e3a270425d999d1bdb4c7c4c2e418e220a03f02ae7224857fb976257c5fef49ea5f143b8554a0f7366d0e11c63929ae9b189783755f3200c842482b1e122e93665a7eb3cf9c95fec9304611964b9a8bbc496a81793b3ee556afb05b5becbee2e4d285f4f517f2874b43633a39907c7442577251ad71963a0e0c87d4af7377b7df2a488548d797e6121f54638870eded4dfb8f3e63d724f078f519202b3c10dac056580ad0263a91678f58a884a095653bd603ce10f1de02e2c468bb2fa401442e4fbf3076b5b6864bb8017e4b0cf3cf65eeaaa4a9b76124ad854c8b0084dbd04f6f1c4c03466e2287d2e669a4263eddc26afe0249ed548720108316850c87777d4e04649c2c7b431fbf19ae820f1e5405134e3c9d12785f993f2122de96e7efc8d61ce01bd5a93e2dc0607ed251aacdac66adbf779d4a8594a2947f557d90fc79b950e59d39e8ef2babf146f99d8b92385478ac877c177acf8ba4509de8adeae3137bd76b4aeefda14be07b13ce7b50ba7037e073068c0655b9fb35fd498066f877c6459f44b409224c593a642d92826bb4d068ee07ae7303e0f7afb81a9481455450565c9ba8c397ac55f8c8082d2ba4970c2e35bf8dffe24fcf54cd222413e79671face4c6a367b34b4a4782009a6efee6f080b16a4f1496fc12b1e3c75f69903eab191adffedffd385eae15624059c0f2e34633de22ad8359a7c904d7e88017e7c9b2b76d2dff4612e464f2d88852ca609489530c190b915e63994ec2c9eff0b3550225dd459416bbdb070a385ff250775b30fb3282c84e4703b7a5d661a19c48da8b8e11a618e324ab0829296f325063fce4b3dd176d88d05e11a1eef0f2a3ff226640a0b399a180c82011476162112183447af8c17dc6316aa5af9231e8c66f07247d8f41f92aae0b2791f4b3673cd04d155356077f0de7c0ccae9b9965b3bb1f8125543bbebe78c4a6c51a0b0f5f5e50a85f75c63dbf39e7720d233b2fb32c09ec785904948ac04e5127fc552e55abd5a217669c4e6b8becfc109e93401267766b5cab3993bc15c0f13e969033d6ad37894f485d79f82f5e52765b35af265c49cdbae4ca673e2a54fd335f1612a24d252e586d778c1b9febf3c8153c1fcd9a307c31131ceccc1ddfd528c427c3bf6cbec694a53a559db2fce2e3fcc28c2cf0fb08a879d7251acb3844eb1823fa85d97c509dd5c6d54adb42ed083b8c293ab2ba44f4d8d98168fa5522d68208ac5c9cc4702846a314c7bb0602880a4b897b5d37eeaf6ba36db0aba3f1de80d1bf737ee97276b0a88474c30b00f95efa3083b53afad2e100b49e9805559c13ea006a31a6fdd33d7403e181e4e11972bf9502e9542149013a0fc9854350867bdfc32bbdf195067f9525f15926cfc945e4cdff3270a6567ddf203c517a07eb91093fa36217cba1939ff575c8fb4966dc9d5b72b4380204e176050a020ccee93c59b7522204fb3bc2cd8a7053526e3288764bdcec8db423dc1eb7a09f1d88acbd607698d1469f586a272849c85de9937e7554869ce4f274c5aab20afb4ec7be020d445fb46a517b6ab9ee8fbe30176aa84ef98d2be4e7d97b3034627b87fde6cdf6d9201eb6b42fe2929972629f46d7dcba63167d21bfc77d01b75a7875e71472e2c503b19581795cc2629813392f34dd8bb10aedca085c9dcbfe15b2060de620706ad5d2a0eac0fc10da1a850c760c04ea67a5cec0e4f01a446bd1d9715d79273c24367131f2d3ebd4128be6c841c8e779a0d8cac100cc074302ed125172bb76b92fd131bf4a42521444c572cef678178d70ded4bf13352fe3bef8108186d59cc7177fbf984616321834d76388eb1ef463ec189fc8c9d2b8bbd2bb72c2fdbcc7a8db9eea15ce57dd350cfaf1f7283846b18d9e189ffd555d272babb0fa0de1cff1f78931ab7f6c6acca69b1dd2840c35cdf6ca4f9edae5ecff5da7815b714a70d5cb928e7909cf82a1c513d3981b995134ac16badaaafc2b7c6fcb551d638ac7523982ec8121faf7dd06cdfdecf93bb3eb129b11051866f206f0d9b19773b48d75403555accd9b9f81bd9b53474a092289dc619cf6598bd8476a40328ff84c82f7bdcf6f21856d4434e2c60de3585e231b04e9b0e807c04cba775a97cc170a125aa19b1fb7b8f556519eaecbbefb462f69ed99851d85033b402b520cd9cca6c99365e24e00f194d217efea4f8c3ed3a861fcb62b9d684dc332bfbf385c9ad90b17601ec735621b1ba92fb948cd43c3d2e6cecdc87c49bffc5a7a669a1c9b713b1c4847392a5601ce0f5cee6b8bff265fda1900ddaedfeefb80ac382610336ee36926465dc30f8cad8a8151e35edc8dad80b7ec9b029765c5d48beb748164b9d88d9ab17d44858e95d8226727a9a933bc278b481b2e36cdb5e7d92dfe54eeeff32e3ca60ac9e8213925d8cd99fa3451a6441e0bac14454f6e8d5b2c4244c270fb4b3bce6ab721a50c95f5221439303d38bfce9bffac593c3f479c9b616ca19b3b3cda3d0036e6488cadc53eff01b4c854e4c1d07b4295953934c73f1fa18780f1ff3ba220ad50c8bf79743c7af9ff8cc40baf7b9f5ec1b6f49a7416cfef7e5c907999e3d078b1349b0f15f6ed8e6cc8efb73760cd4d377f875c58c7d1c703fcec523e78a57c1d7b8467c769b107ba44bfc140695270c4af7e2cad90ebfdb7fc14cf34ec9e55e9fcf3aa1d984ff80213aa901f3660bac5b8eacfd825944a854f0cb00df0dbdfcd544926aa2025cc22a4bd6301af3b35fbf920d06f5066cc73b40f35032766cf4863f45f7fc957d41c3e1fc0157d83be7ae3a0dbe137c4f7b049b4e3903aab0c97920956fc7c91aa92940929fbcd649b010eed3cb5e8fc2b16f3a691b765da96698391e8da3c8ab6faf70335adb223108ad1a0206b92089e37a6e047c2ddc6b16f537593ce4e07c96c09f3e5900c6425f90bd2d21a9815a18a0a55fe7db32bff1be532f5c2a4fd94d4f11cfabb495232b7fc1461dec05de0478ea3d93ddf678407ff57a4cb901a43ecd87ef068be79455f2b973fed0b3ac6d3eb9bf4d090de09ad99ad31d6719c8bb63401406a785ba9389e15ed824749c45dc7facd058acc1ff43094cabf2f5b8468913288cd48c94771578ea48981cb29adcfed12bedddcfb7697d9cc30ba8a1a0c3c9176e430fc68c820c5528f626203b79921d93d19c3eedbff9039157ba845434b932d846c02ecde15710cb139e0e60aabc4c27dab5315656bc459fa176d68bba98b87108a15d858bbc1440956c2554c5ca8af475b8c78cfc2edbba2532efc911705e5a9fc2bd8a054cd23e707d09179d73d35f0e308cb34f5bf0ecf5a0956fe7d966c53dbf3116c6b3850d4861d05e32aedf4fa98daada87a1da081b3401118e49f45bca8ccbafcf9b64bfe1c74b864ea4dacc5c31653ec9231373bc0c236f9576328e3c1a7778c610c452b7476cb3ff457f3ab1c9fd4c8c0abceee3054ee8d579e0907f3befb372a3e5db9f8d3d0f0a68f206c89229372b17394890f7cc2a1d3f6c0cda0a0bb508bc1a45b52c65fd14210d4fde9d06cb07506822ed43b88fdf4715b014002717cefda347cbe01d67e9263770e6761f49f79c9afe8663c64e4b20d22b2b3098359bc9e1d1d7384a98146e322f0efbb8ff96aa11d9d1f7366f7410d96a96dc559b4e085b46d2390a820e4dea129674d4d40fc8e99b9dce03d7048fe949c63398bfa0ecfd0fcdcae4ca0556a7c0c7584ede76a34632177e41e2a6fa3322b1d657b3105da99051c6fe28ddb33f28adc7de393152387b62be355562c43474b50c7654518011ceeca657e2d5ba0914eb79883cf71ad6264cd18566c95eefb7c54e135fbd42ee5b901f18a697716b167463e3d75ee83e4892eaaa6b5b437962895ffc52174d5c1d664ac8ed97d2bcfb93f3a0da7d5d3a1b98e769d86ecb7cf964ee0a0ff68c44dc9471bf162af3ac09ab7ef1d119f6224088620687075e4b261fc2a07970ec95975a67fd94311cf4ff610e9dfc06be38e12d648fa3a06e2bb4895b895792a80dd466c6722b66b5fe707fa8bdd632d347269a64b1e2bec5abd236c26779ab4b1574a35d645d9ab51cebd11b7138e9adc278af31c0e48e01e0761b6fed1389062d29ae3fd681b9b3404543bf8e2bbd39f7b107c10cdf677a02292c7770ba4ea1e418aa490d69b5cb06054a1d80c899d0505677aeafef34e82ee4b672e57fe2b7f3e9156b91b9152954c5542120e4dd1104cea55888b5fbc36db9405963fc7ae0c23ab1876035e5e5b52c9fd712f23a6dd68f0bc807f1a8fedb7d91cb457dfa1a97c94828cc60a48a7f13cdc1965e28c9809b014e9e18924ef057dfa44037fb6784276adf253d991b983097bb87efd53b000de81d4eca35b22940683794fb6f68355796988a1b47e41ac0044e8de269af8795df8a4c5824702357b03f3dd10118b103d309d0be913411281e45ab8fd0fea7d7fd5af0233e11c18bb3d62bc6fdb922302d761fe21bc9da0ff20ddef13ee63a57cd002e8f8e5b241436d7a909c7ce8c48c0c2471316596892d13571a8a397fc349368a45aa1d1d753e5f691e75ca5640996df2dac600bbed593c1896a6ba3c7871e6f7ab2ff8a639dff2394989b25912bfd24f70886a30a91ae104c6e97c780c40907ed306668694f9de2946b8bcc99dfee1de7e31976089f1464f23456e7f8a3091e08bf3bc5d6425032315f563932291da8b28ea55fddae6863b42dcf682a79032a831ba3b741a53eacfded4d0d58649bba66ecc8e3c19cd0699a0f3a4a255da4f01b8160bbf81d6b4e85ba8d9ae28d16378d0111b12f89067685cf018eac2485e94967163aaaf1b87aa85276c92d1d62b5969a64adfebd86bbdb7cfe46f797d0f71439348167dee4ff2d688bf4b0d1c32cc2b9bcffa324c6cd3bc83cf4d45a190b85637fe9f45c9b86a9fbb98739788fee6b3f5110b07ee77774be8522534c9403f124546789649edba43cf6fcc3b3f5cc5daa00e4ab4f3dc1c0d1d8b9b2adc661f79fe2fe353bd90d8513e7bc8076e6e2b6615f173e6d27ecc7b4c01215167f7b2b425d366b32bd298d4c3d6885294993fa83dd1fa7174a6150be9430d8dd1f44e716eee9117582073e78690cae2c27f35fe1b2472da0b54d8127703de2751aa55e4f4f66ce7e51869c1f3cab504e5e81e45731032d5334c2ebbc3ca50cbb05f1c54b9da0de8d7edf416be01798719700c5c60c2da77638f37009d5592f8e4fcc337f87242e718e68592bc2ebaa1ef597e535f2a87a1ebb6b08ead4bdb6128816035051aed54c473d59e951cdd94f8804ba248f729afbcd6034e51ac054e73f0fb1f7782e2d1a323a11e0818334843f7a4a85f158e0e093d3eac930f96a410547fd8a72c82ada6eeb23f7e42e082fbbfcec286a30e3d6040a627b56531bae37e65fe58ced61c5080dbe3bc2823f374a05ad9795ebf9c9a1b68d1fff93af1420505fd9437bae51bed51d026f88bba412ce84fa414bdccf97b8a5d2901ccddba37f2719f953e9f3d38545cf3f7083cfbc5a08ebc52c3d499cf60486e871c8ac45e7bc25b07fd8ff929e30650a30618748894e35d8f2f362c6aa10a31a7235f0e74b0dc682e56a4472ff5b3e309db04178b4e76ded663d12e5485f4cad1b8b915a93bdc9191f222f6e998d01b8e908ad4e62510b10547e342098a7907a888904f9f800dd3d3d7c7b69d7046bee9fbc449af244ea2c0a7166115bfefeae95fa3ce4f2873d3f1e452214127926aa2674d17f4cf2a05a868cd2e743868a48e2cd3919644131b50394ca2410df6763587b6501b49872c4190b6752bffa14cc265d3771f8ee7f5cd763940cbc48ce7c935c1afb3f5b61b4e07bdabe42a13508375b796125b33dc41c042d22ff54dcdd0b08523a526902bc965e2e039185235e7c0de9d987928c96b3759deb4a3adc0b8f93a234ab54fdc83ab16f34a0f2d76c5a20867e7c206dd3817f416dc380ca08b2498cd7a9a46369304541c857ad191a392af785b442e916906fae948f447b420b6725a7a87529413cb392d0519edd19bb6fb603b7c9d8964d7c58a8fb52fa3156c5aa63256c5db1942a4e5e7ccae08ab77d5d768e302b8fc86c03b076cddfe990a7df60cf31ba9219a617234e393e5b7743cdfc10f54234d1f35992710660706508fbd1c3186ec5c45622b1b0703a9dcff1fdd867fe68ffb5ef644604d4fc5b8d9d09cf80b3daa9489781b5d28aaf8e9cac98604d3457b6cf7d1c4118f4d0e36ce788fbe7de3856f683c104ccfa0b2cddc81934a776c5aecf1917f8ed52e9a3ade75265356c62590fdcfc148fcb3e21b9864d680d3c65355dc10970cd42ecead256fcb51b832b0f79dd819d0a6d5fcacee47abb2c76ca8b5c061d7cb9b3325ad82cea2c4b05a70faa3493b310503b3dd537f8a8c4d854ecaa2592f8322c0becb997bbfa9a322e15d64e66ed34b10ed784d379a109db0908c6987c69f0edcd917b6dc9325ee3432c4e8104cc85c6dc94ece9425c68007cbfcd2a51bec6b3c5dfb5d612ea811213296de59b4852001dcdde4ff57d1ac4a3175e2801a963e8c5c4c59b2d7b33143466face822f8c2cfbcc76e40c996c743f609faf12e39a9bc48eaf9fd874d49757e375499b57de3097f4397724d8bb75a6e5f77eb9c5f1b226f0d6a02e3178d3dce7a175d07b05977b34f8a7cb671a0b0633ed5ed4cd13d870fe89390d1010a97c44c86f6322e7bded4036e7794a173278b5310f67c06c392b96bdd30c1e658bceead4f258590b084feeb03f39723f144fc25ea3f280ba7c8b352db1777f85c00d54db89299075cb623d0c541d86f1ee4fdfb395b5b5774cc2cb4e32020a29eb52d899d4881f7054f2a98de15f5ed725c84f9565d79a64e1b6dd7f29cf28e7180b50db179910c0d579e6d17cfb41fe5a75be834cd0d9ef405a6180ab4dd0cd974e5de463d114abd655c7dff63e4448dcc45c27b4e3aef2b728b9012220a56b290ef2379b16d0751876133a746bfbdd5222bb46c98f9056b164b08465f46a75b0c8cda535dd640e2ae147fbdf0f4227e4ba2bae2ddec431e1a959807c7fc4da130171c5bef70573438c700801b6fc30b91a4de8b78e58e9077f44c1010e6340f68c7a4a4421898fba1785d235d5ffe8da7f4bc5f82b3de33cfff046abe5bc7d1d34134722598ce9e4f34166f79f29f2b6a384d099dd042d06ee7e20a85a35db372a1837dcfaabcbef8206ec3f57cf3e5ab1d64486cec922d7a8b3589e8a57a48bb166a55d90f3afad9ecc3fc4e6fd5d8bb2fc640dd11d72512bf934724d3946e1f138c849ee65823b82ceb89496b079d9c2dd92d7c1cbbda563c6659071708ebe8826e8cb341b2a2f0ab5f79fd76e89178b39712076b1593f3b3b8b1cb4ca1ede32a3ffd9d953bcc85e28734b4285749bcfb24afe50001fcad06473decd74b3922f04516e3e67447cb6da16f4c009ec9d441eb39b972e03f08827aa6b808ee5c80a3ace2450faf02fd830c59b535623c3a0852955d41844571744c9be2f2b0379629f6d111cc8d76e5f573fb894188b91d7dd0b16b5aacdf6f0308aad259cdb7d05c0727f19f7291d9a36521af045e106765a81ca138b1c9283a803a3814dd103e4c929b43ada52650a3cef3c611927521f934916b73edf00c75d550c6eed7552dd84f43dda3dafc70bbf8716cdaf59d2968c3c04c6670514aa7da65544fb21ac0eb738cf221850b1336bc0e78c2053a2e83aa1361566c2f7aaab3236b2aca2c8dde404d97e19635976891f54ec0adb301cc0876c9c2d9ad57bd1309e43c29dff34a0cdf2e8bfca16102df8a6734357a5179893f724b8609c7d8d731f22f37e630491b3a4ac85054b80cfcf75bcba25ea194f3d481be0acef15e83116adc44cbfa74c8938de543cfe0003395a03e90158e4db89b7fe8b6f9fa2963422163e8624b5058b2d8e9938328d7cebf497c6a6a64fbc1ab12096994f3c0bc7f1993eb8f0423b907c4ee82bcee86e5cdbf9ec7b3f4c07d381a7f9dd1902b325a7238dc3f794dc9bab5800ceae961073339e6551ccb5303dab07b97e178b1db2bf9ddb8a0d94fd6bd29c9dde87ebce50b8c8bf5b3e03f7bcc1d5ecc91abd1662d9be9aec56644416e7dcd718cb8e373cb0ac5a8405dc3cb551fd6a8843b50a2eb693ebfc11ec3fdb7d7e992fa5ad2cef9e356e10c1f3118a9d5b8ee5a95dd98ad6a5600be1c32e80997b48ad771556a55b8ad3c89c9f61768bfe935a8a4ac650832a98e040abaf9c5b337d0ad071354bed2474f694130db26360d868d3d241d180a63cd28d0299890b8a3a888e081cf5d637fdcb588714b03704bbe0b7618abc50d332e2e426291ce53d54da0fa64721653587b363ed0ce6da1c844357028923c3ba5dcc7f2ad2241f442b94b3e88bd5e3c04b7b1ca7e55197ce1a11c7d5ad6bf43d4a46567e85ef63dfe5f399b7ce4b1699abee4e14a0e43b8ea50e9f4b08a68a10a1133ea9cdec102a19e72223a1fadd90d71b4d549c4edef4da6bd586179afd55aef285392b3d7dc3e8f5137a3ce35a973972ff0d4dc293ab38c441f1c3d0e19634a941742a7e98b1eb7e2576295de65177f47e4d7d91bfce0fde3e94c79f491ae2bbfdb5b797b74cb07b9423630a80e82511481a175142d308c50f4f7ebceb687337c9fc07d449d39c3cdc97ab2a15e9b299c462896369a1d01dbf83dc718809d13e7e4e05698c46ced849094a2272062ac145a086ea386e8d112062a22dc8c4d98bf9ca61ba4438afd5571b711ebac478db89bf0388c9932e851fb6d2fcb63188ea8b8455b4e57b49a70014917360a93e37bae9da134cac815c3e9322f854ef9c6f471f08a800f6bd13e46017247a7d57ebe896552fb7b7e4c7db1d13ce12f973f7ada915cf9b557b277af1f1922f3742d5f7544e98c7979104e767f4d9ab882a7ce5822f724f1659a80e0acc9df2510050811033cb2d3e77b05776ff8a88eafaa1da65a63b0afd8558aba7079e4ee3a66439aa85686f6e6f17d14aa1707d05442607bc7a01d0ae84ea38751fb5c5f437174eccd20e2d700597a4abe8d273dcd02b280a4c4de5d5dc8d3c4aa652264fe530f19e579fb71b3b47aab4220520bff02f2bda926fab5fe3245031b847cd864dcd2faf7bf2e0a805e9846dd36dcd77ffd45f47c4f6459e478f3102bcaa06848bac1bf5c0e3b7a0451fa96e402716a48465570e378ed6286e97a33873df7ada17e5837dff89e8ae1b12250a31181f58f23e90be3589484ffa472c30cd8a3f6626472c037fec2a3da9d24cf650459f70f7f25ff68c47ac6b7d4bf9e41b608721696d6327a5d77630060f6810da69ee0d6227f44fa2e8c5b11bb918a7853e36ed907cff2d8be8fa20dfbcdae70585b19ec9bcf697973fc0d2f8e59a1886afd71ead0dbe9b551ae8d69d112c2ed7f9da62bbec6dcfc1d28b769dfce453cedc360963f50f29247345bd049c94365dffc2eb72c94e26a3fb20577d9290a608a7a2edfd0203341a01a3ef3a103c11f02ff26a30244ba3274487da987860f54269184d22face2dd29d8579bd64d19496087e689cfb6ae4128a078748bd56b4c857fe3e8cff33e1af132d098ac81ba0551041320141fe5fc62fbbeb6859c7bcfe8d1cea073a3e2e15cfac74ace8b12b4470c6a2fe2f5a49dedf69836f4c47a89b0029f4307ba2de15b1bbe56188c1adb0f7cc2449f7c1bbe9ce59e25fe0d262dd3ae2fee0857f68385beb680c7b6c1cf486f84a25aa7eb1c75e071053d349d88103675c364650240a930fa12738a9430437d44df066739ed883634f924504ead9c6f610e0ee108e947c5450b01e02761bac970f46a25652656337e46ec0c93d5e92100cdb8582b3a4f9140b734e2c11f55ee8bbd169c02ab13514216279b521c3b3e0c37e94883e2011408fbe2fe25bd51c0a7f3c3a2879deab1a23092fa515dd2fa5a7b296e55d062a2623f048dc390a69d73e658ca05d24262ece16abe1a9d04a2d1a3520c13ce2f0bfb5365f267cb0d1d3eb2ed4318989971bb27f54e3bc1e69dbfe1337b4afffb4d0449fff52e6c4aa07263ad2479a52650b3c9ad76fdc10c919f24cd5b45e1cfb6e16acffacb05e1806afdf042ae32d648518be2bb98a669085f097adbea545f9e6ecc3ee2e36ea347188bd78a86e3d69896ff8bc6f6bcf1f62462f5c63ef193f1d2efd77422a4820ac74467dacb243923ad3c35f37470a4170805302121bf0bb143e23b25da6dca91528979cc949fe2acd9f7fc2aa6125530962d9e4995bfd6e5123af877f54dc0475e55abccf6c2d36ed7f49d09f96f089e79456639497f10fcf221a624cf9dc4cc3eede20411a464b2fd28e003f42d39251ee6f9016f25599cf91f1b6004a68028224d85322a92dacc16e8b11fa1735db401d00a9098c8c99765b05fb668bfd1b059446575db895abc1a7a27937746a728a6a7cdb9e6988834d9f61dd3313e12bc3c9cb5aed4ca3fa9d857f4e66ec85fc20459b5a49fd1d477d3f871dde0e9bb14df14e80876650a79f239cd4d2fcd02f956328bd4c320e8a8253de8723e78e02c5a449d2045047b79ef979ca8459852594abce0a812c2234f64417f26b8a0e43743bc15dc06a76f78d34f7b692646eab4f4225923a5a38a648c798ccb42bdaaa8c3ac169a877e4bcbe5cf89fe1e98effdbaf7a15bed4f6decc607c33d8c63c19201536b35f4011d81ec608b91fe72acb58e33a4d07fb082bc63481ae54b47908b428088496eeb7b5fab38363217e98bf3f61a33293f63946b94ef39ea11c9740b0570056214ed070fb505ad66c964bf7ee0abc2d072e7bcb204c8933c8473804b194b8ff45a2449361bc8ca40d197bd60f89660686e539ef864577e8d634d5c84a271d738e0181031aff7ecbf1b117fa1659f99490ac47fb99aace3782e22ee730fa11ef502bd18512f36e311df9cf8670918b2cd439df81c73f4d33533e3deada4894d50993bdf6d030e1f2a57cf85f0e39286abbf2724f74f2fee9b1e22738f192424e3cb120a8cbded27306ace93616f703923925bbdb00a5bc630f5f0d0b7c0d3fe0664f4c52315adfe8365ddad05a13455dc27c6881c971bb1d2577691ef1aac24c5656c8f6ae571dfcb4b566d82fa7c6467372f1acaadcf31cd6887c6c4583ce2a53008ce35d94ef5cac1d9b6400b54b1f1a724a3d93195e524e53a8ecd94afa3563bea7d05bcbd26977cec9f989c105c3a30264b59010ba664dab4049ecfbb4f13f35a8b66079ee472618243d9fc50bd9a91ddd83a7812df9c502b11d1db9579d14a5f4a60ea6bbe2555175968b11c74f8ed38d0ff9b2510fc9cf1eec6927b455b4052146566c234969dc7dfeb0e2154953051cf44c21de503fea1fb498076552a812641f5860b82811c7feb3515779bf9192ac7d768cd8db0ce93a2c5ca0b71bbd92537a0221157e8ab5577ebecb116f0e5373b233cc607590acd7505e35478561099d5044caaecc1ebc85a29371239ac1b30bcde412e1a829dbcd2133fe69a53fb18056b725f4a5cf09696659339ea854b2beed2cfbc382d737aac5cc0efd295ff4cd53018ec52e4d8a77a37574c0dad15f88773252751f8a57c5551d3f5d4e215b28308a61ea8b5048385272987e2a6080eecd4df6b25fcf4e67980d824dcf4e5576169f5a10e8127da874b318b41afd3d62804261e5b68f71d2cc91a49f727f185d4a700616628908bfb2476ac8598ad69a5a1bc4c56df61cc5f4d29ea5152697a8b3656ae9e7115267665f1789cf11fb1bb59f8a53bf5c144fa6e4474777a2a5891e5725cd559d3130ba280a441c0a2f2fde1156b62fa3660c660ce8d2bf590bb17d70658b1068b1bff09a5bf03d40c8ea86a865d21f34d38938dcb00e831504f2744f6ef1a84f4f7a1ac84c14e918c6dbe50d3f6a457a086691523d2349ab0ddfa4453e016c0322bfd90ff9692528051ecccf2a6cf98d12639a461a09e32b631df3b2701fe6e0253c560176f51ff0284fd014cc5aee50a267113140dca82afe6b245f4fb98cadad46864f464c9fa6295cb3c7058dfccd6316c1891556fff45fcd624e7939dd68568194b01f1b7ad6451f3a2617e50a00eee2f99ff2f31c424436810a53e7a6b78a329a58cd2349a6a42295098f9f941cee58d00d2071b3cf5eff8429570e067718909736bdefeca16a0d64530e5659ec61fce1f13bd3d03c4aaf554501ce5771f2921b6993973f94772cb4246ca4fb9f970eb1dd61e1eda1fda3cb498dc6aa6c6f7751f9dd811364be133d223cd127d23c7acad8a452fe3feee26db96ace7c0cbe29af2e902279bfe429f69d4be3afe9e8560cf21facf4da46f9bbb40e3b6cf6424960ce05d150d416eaa044f9f57c598c1268d263ab9b626f959d6477a1df5289ba9eb20d478ebf46b5551db13e8c9c66347eb73f153d162513b22cb35aedc3f6b17acbf2de2316b295e16528307b4d61ceb29ff7576794c26e917429bc4ac46a84ce29d67bee586a96d58bd24ad9628c8d72603657c0dacb6a83fdaef1e1d2fb6fdf44ec67947dcd3ecaba0c7b83cd7e9371779d78d885aa8e19f4277073adb4ce0222890cca8b0784857e9ac6fea9f96de8379071c27567b0f901ae53a954effcb8f1955734345b8c1984ca9b7c2149120b55d3983e00d6b40c1b4dd5fa8dadf2b644ae5a4a08545852e473321c8f31f231dec169bc6b460fd1a2ceae9c5cd375c427f93b7875cae19de7936a9945884c3d8e19bb58a2cb863a47c16806b03d542e16e72264289ace04026944bf52b9b7d286228ae0a3d7654a5607beb45479158b5b434e036f289fd76db25d49637dbdfad7e6f90383a5ada247a048fc756972c0c036903de418851030340b0f1bb664b20391a4250a2ea849ae14bfb92de71694ca454bd12b5376a902d2bbf21a6d7cb1a12897d6b5d2f7d241ff421ded42bd0e9d212127b66184aeb3f9d8f99ad0a0d51a1fe53ecd996803a37e2ed2e4a4822ac87672008d5a80135af1b52b02296bf53dc1a16bb9761357944d5291a42b206682bea6b2d74157a48e4bc4e43229720b5139458a42b3cee7f57a924b324a4ff136aff699e690cb6618a5e42f6e154c6cf64529cbdf0636f58aeb44cdd3f1ef335297fad3b2902fcfef77665c07e4ca7e0680ad116968053f1b0b605d1990440e42a1f8abab02fd1807bb6d68dbb4cee99173df68faeffa31cfd47ea4c6cced13bfbdbddb514197b160a48e5acb7f12dc32fe284bb89011425b74e8fd6cf9bf29c08024ae9bb668136afab4be1b2230e4cfcd5bde6539174a63895a45d05f184af551241a4dfd5e7b7720a115d426cd5ed1f2981beffa76486ce7eacc5e9edf09406f4627408a200b43145c3a01c43dc9768327282b8027a212ea8541ece7a204eddced6358d6521129dba70d289e2d982b86f5aac8da27999d8c19be1f4ef292e3b7d1c3e21dbe688e72b049cc9f0150e3a484e7cb61c7cb77678a502b7629419079bbb9d1045ad61c16b6599a514126beabc88e1c2c6b087009317a93c7a355f95b8f40482448de4deaa3c8eb1fc8a6fe3d2d079f4211a47cf7b74e80ad0873543352e0f825b80c8cd277935d9aadb21f243d4518c5fa98a3a5d8007231270cdf98d116c262371556fbc4083bf90dbaef8d459491464e5bc11a86b4308310c27daca37050a44c79a79d45af3885286aac9b9bb70f50fbdb6661d86a2b27de4bb2f606257cd06edbf9184a4122d0d2db7567a8860b9f4c1dd3d10b5020f2a0a8fd2a06fca46e2a4762e73b4be74683c346479136db70b30c845345952f12a69033860dfb08e35a7772e35bffcd6ec5430fb3dc6b8529d799fa730626a054e4a71cb16b474d6108b942f10e26824078696f5d0117bf12ab660d76a45b4753054b05f4bada20ef9c1a65cfa8348c4ea935fa714e588591c9251f78d87a84f9ea32da5e0362e2d537724d9e8f83ea5d2a94920fcd134ae990abb671f7981554d2770d48cb52e43edb77e7578d964d208a0e47f0c4bc355bf91982fd408500ed02ff53c9618dfa48115a8bdb0db7a6e5a727955e945ac25e5a58a967797defb4b5231d9c0a2db34a20c6d931f5eaac26c7d39e9631fbe2a7fc608e7134bbe308ce5144fc4c9173b4a8a7590228297ec6ede16a5c4e6fb97bafffc6bd4c35ede25fb047f43ae5d8b23b7bd8daa71f1d0c18d67357bced05211e138f2cfa67d86dbad081a9c709d11cfe10561a7239da666a9ebba1cc31d9de629f01cf571b24d6a6b96acf40c5335517b1d1890ab41e026d6eb5ba6b6d56c2c4bc5155bb5b27248810e5c523dc8c3c775f4618dda8f2727eb1fe70f2a87996508a71eb0e3c357d91c2d479bc65e393c86ffe8ac2104b7793c58102ca3dbc2a6ad82ed3b6d08789a4fe3e01516a3bf3083d9432f1e28293ceb6c4aa392506513a16d4fb6624623966ba1490c4adcd9f376fce3319df9e8e80badbce7b61db3d9303b1057e87955b292fa2807ab0473543bce1d26f6fd310c3c80bedfbeeaec5b8038edec76e5038b7065803397be2fb9414de0b23b4812d19c8d904fd10db06b4425252ad441811517ad1419a7bfe493a22dc5b7be3878fc39fabb8b2290221a556a540f52c8e8efbb69f439a2c30570eb64d3fa0d3c48e1081c90f3e347707b3e7b29ff76a9607cca54666937dca9e891885def755b77ed93a1cd5d52623f21b890a283f13cc671cb2d5cc4989b4d5ace3b25aaac55fce2d915a9c853bb63ec0e03be7846dffd12c50542c6f26651cfa2d184c429f846afdcf6c34578f89704adabe19e230346ebe6619d221f60d8235ffabfbc261e7cead2e1549d76c9080267560c6dfabba5fc3438ac5f9c6d464f3a277ca1dd81fa5b3422693715af972a0c2e56511117397c421041fb2fef77169e7070739d72adec0925c68f64a62d7a13770a422645f1cefb81fe0cdba81f2e08184f2deb22f5a91c80fec04085572f7e0524017e6cb55b71c22e45dda53a5ec34e22a0109e37765a26400176a88d5c2253396087fe07be235d4e7b9c6511dd3efff4f05876c33de84232da89663bd62b8654374015456fcc72f40818cb85dc7731760adbfd2f131027d13c840a1a7a074ac5c1a18e6deafc657ebe21363c8f866c32544950a93995d6809230c8e4a024ec254318bbdd9b9d3ca9e3a6fbc5138599b4ef8fe607d5d8dfaa85204ede4bdb14dd941dd08851305bb4306f1f24d319e99a3c693a3a954d72890593458977490f7bd5c4acc5f38ed8eca0e1899d62fd68f4266b676c6d0db9b8530d8a1b1c253db4b6217bd31cbe885c4f200b75d05c57d1199e4d9341d33c2668717f6f131eb3afeea04fcffac06bef65779a303e07f20005de87dcfeae7fcf0787bcdc9bcccd5cb5c6508ca24f3839e7e9e5f23992021e2cb82d31c1fe4226fdc9401c46ed54b4d9bdaa9691d3858c7de1e0f9d2511b451538772e246cd6e5f121cfb0ac882583bc8fb08d9dab42741ec4d569a081abea82a9f5d187e39dfb94f8f06a4ec1f8577505bc911770ef5232f0b1fb6156b68eb5f722d33d091974a5100f856d051b8b3e6bd3a014dc60cfc7e643c751cc462962b8339f7dab91c6475e83588b55bc8f6cb092b6bda1332d592a72cbc97c6b58fc7b697880b51552dd1ff014c306f12cf37e8bc5b4bd2669c71f84a74c4d150c463779bad92e1217a2c746f81e4040ba5abc266c7f855baef57bb5d374e2e1f51e32ab7ba2bad6c628b89b0de9cbed24e3a575330c9d1d29a05bea786424447018ed05cf02049d510accb156b5c55d03d38ab11bdc9ff44fad7d5422635f6465f4ade7494203faff30c9e6fa6e8a1e8b2cf201decf7625a9ae932b1e502e6c157a1fcce9fbf27783cdae3cf19b9e7ab705388e01201db550e91ff417712b9c8298c15ce9326dff11ccff42013a1bd99f30acae7c211920a1e610a3e550c189930714675fb489802562f0c0163bcf48747ae917429f237b2bc64db8074456a6540f740551f98e7ffdb959509e6167b9c41c293737c6ae44f9e9d02049e373a05483329f61e03e4f2a7095a5363a79355425343d85a01aa73afcdebdd051d08785b5b0af28892ee2536620342028bc488722e6d72cc4cc9de15252416b1cebf2c8d90a2f919b6f6176e652518a92af81c3faee3c3ef03febe4564fad5982e35be6fff8f86d7f3f2ee43c35108ec16f59ee14419beb17cc9d5851e31c397aee47a2aed77a9caafa4430b8ba025f7d23233c2535180b32b528fe1c34d54c7104cb51f27b524a488cd08d59cdff4db51293786c336a32829a7f4eabbba193a6cf1770ddf1bd1e4f0fe076f924dbb6a68086dbed3d9bb2779c075c77315cb4e01c919d5ff04606786ca9a24b1d8949c3294fab47f3f49c8f899ff76f43f16ddbe6ff2e8a6f956708c5a9f56045193b6dcf45085ef70ccc98e1c9e55dbf022d5c842632069fe01be41dbb8b0cd2bb36390cbfa8fc128ea1c47a8c0d8603b795195ca24a89d1a75c9975c2acf049c69852b8f66191449bc5194bd70b99a8427c4adc91fd79da2ebd978337488f59f837ba216ac54f018a5d0046479abe18ad0defb286e39d42080c205391311de44d0dc3bc58bdb7c7ce5ff434222429d2acb8e98ba7ab67013d1373eef79a2d9c88fa3c986305c8d000eea49f1c633de0c78b5aa794dc639aa6b2994b90ee84bf6731f144fc74c149589c620b8af785bd2481f1908a51adfdb43736294275f189f0f3d208d6a6f844e81e2330f8d4b7e2740191d9c0f0360cb91d90076d00339a0fd8da228854e2102a5fc3c87ebbab676bae7cb5c56e3b2c80200c00b188c21aa71d5c6181466e1b8e5763afb74d60708b025c107b7c7b0c78ff6aaf62d6c9898fd44f5d611615011aff8761896316e6fcf4d0c1bbcdb35b3589c30b77f109aab4dff2afa495fdc48645980a3fa7c0f24f3e9b53c288f41b46571c36ec80ad01071547c4f42739f01b2316575c4a65bd552b19b2666d400034d2a7061635a979479ef961980c5dec7c3459fde9e9f88b7e85c5465aec9eae6bb2c83051431e244e6f118a71fd09680e4ffb755115f245961ffcca923b261dc29801b7ae653386374c6660db4717d6927b721ba8335a95f8a6a69ebfee9fc2af79876f0b096b910bd0fcb12af481e36d84655d3b85350f669e31c8ffa378c3504f8f6bafbf4911f09a5e874383fd9a64ab1462d4b338d470e03f6179bda32043e9e0d3f4d90cd8f9e701aa7288627884b7fecb1992a36c006665fb5bdb1d9cd1243fe28124a6d817f6d91070e08c4b6d06ca8596863222c8260d40a60c4fc243a9555c16c8c087958a9a1e650f51368fb7175690a831e7a31b90542a828346e621647b45d364d2cbf8557172a3c6fa5c5a93a9792615d23239f5e55f3c2d4be5649b813743fe47aff62c2a5739a3bfe802d13fc5ea194c0142d54ba38ad130a0d93489e6410781e4ac57f8cc93e2e811b6e39908f11109e7a21a9f99e16c1e7bf962059e3c2387f29a56e50724a5de456009fc252d3856d28507237267b415ef98695c4750eaa3b9746d9adef0d33ca646d1883ff083e9ed21b61f5df32014658676178d6eb583cc46f0ad4c65c9c008ef052240b3850182f8d704b1d0fabb28b9122dd334ee228f5c0a4c87784e7b9880ef901d7d78d43dd7fddc184c026f2e2a9d5723025082ec04c824e4be928845754a7715253f7f6a6ee466e7fcc59c6f2906dbd5d42b70cbe4719bc425ef595e407763f8c0d205da811a491b873554b41240e98a14d139b021ea2a3f3ba44f3e527b5f36627ffeeb6e2015432dfd36dabe79c21ed3570ce8fbf8dc1e2f684a1baeee8b95519e270dbaf5ab669a995be771813973f80a9b76249d6623cde8465bf63b794291037e31cce74f6aa0c8db4930ec4e0dba67d31f2a36fba7dae8b9cf5d086c19c7b6cf1b769e2e2be49247fcd02bb276565d571bce76a39db971a708c5b8a0ef64d83fefd50f6ef430d53d1a7c72ab88b2119ec852d2c5f4af566d93791937bfeae43a2d479befa698ca82f0082715a86fd8ae2e340b15b1888f5fe655d8b458baa30f369acd1ddf1bd908cfc8072749fe5c60d37e130adc116d2584d0cf82873a73cc652c464945e6476aded01f14a45cba714f172412ca9a7d71e7c977551e8559746407a5e29ea9d5e7d409e90f6d450445cf52638d894779a10966e998e9ea18bda479c5395fca6a1834abc99cfa418a2a5d41ccd3185a21fed74b00aa7f66442b4bfe3edf9d34f4f92552abd0fb56c6984a2e6e402e7990b1d26fe887e99bb3a4db040874831824e9d52f442b153bf50ca23561fe6dca38dfd549b8c7dd8f3cc1268c581fef9c9333c0cf42f5eb378cf847b46e006e8fcfd802cc41c1b48e401de8333eac48c5801053aa7c471bd0c3bdaea2bb81e31c5767d93dc4e77659ea6b3298971f4fcda3014c0ddac1e79d4658b752da6b55e912c3c8ce751129a6d5632122dfa015ac2f17ec0a52df83520d6d1e35f20f6a7d4c0f43add80bfee46ff121e1c0432b89b436e1e9ae31c5b4fb20c15ce086a3c55e5f808238b09cbaf302ff35de906c5e9b0e5af2b5b6ee728b7aed5bdf133defc2ba0e72e8800d665ffd741b5e0991830cfd7498f132d287182fc161125cb929eaf202b0e981bad7dc78b99d77fcb4dace251e514ceac7cc3996806df421b51bcc2c73f42f03f323e28c8b4d2126254a17bf9c248df8453e632988376799c68cd4b90b9ece9eb9d4fd8c6c3d401911b16a9c7d817a45f95c3ea51619fe2345cbade2eeaee8fa4384f86c7801fb1760230482e5ae58e471c11d030ef88b688886c44f71e22472c19c5ab1690f58805c72119487c8eeb8f151c7e80518a69ceda51abe4c75098187fa83d2bf2c14f0a77272397084b039e46c98b810ce739cbc7c83133effa743aaf538daceef6fdf064a8b83578baa22e6fe5d3f967aff9ba95310c4b9a0f497758475eaf10d0485b02da0d30a8ca246f92940da6d8f27a7b5e6acbce39080b4ac6f84351dab2f7915458abc54f05257b450a62503a3b77168a556e54957dce7272763e093056e276f2986304f8d096813293c570180a0144914896ab87d5d6cf64887b6df212ffd0976104a30375fd8763226045ec8bef59ba55ccdcc085053d20af7e5ef4b0a24a222822bdd78a71403fde384fd8b339bff8e93d6d42c32ecd38bc5c323c2de9a34ea2ba5a639e48f7404ea0d047cc6441675f1551e30ba4625f9017049c29fa7e7bfea2b4b8b9530956c65307a11ba4655b6f2b563c73b22f644c66c7cb275c0355d956fa7c841ce4923208fc939727c74438cdcb21914040c8b411a29b7a4c096acf8518363da0719208f39b3d42e8b0426143a4e7780ef4645c2b70e99febbb7bdd1dff423aef17ec87baed9f47e25238cf9a023e05a583e8646ba18f9eccb46f3dbaca8957ca634fe30f02edf556aeedc0b274f838fbbb1ad115f7921003a3368c144491b2aa2a956266fd6ea6cfca8287744a255cd77e0151266f41aeaa366fc3180cf80cedfe9d1664b5659fa491d94d92b0192b870eda04ce433ba02c0640156b930e4c03e607f58adecf52a008312bb715080cf0fdf6355aef2b99c6f970a748deaa1ea9149a03da781ca7d98d55224b9d928f1617049237435fcd009426713cef741ba6cee1c1951f6434bf10978787017c4ed01e58aff3b156b8be6956fd4c6509795e43f8f9654e2d6d457e36011467f711efa55a0158dbc90402450ad952ee20a090965247c057a3cb300a93ea215743a78cf682bc1fe5d164c48d4ddcf4adb1147cebcfc2319391cab6684e718daaf048ea65de224e9a2c331aedf32139340410951e11d0c41c8206d45638d50982d7743e4262fbc02841f303f8d179950a941c1e2e41dcd038e19f4bf6bad6acb68aed07214a27efb5913c39de90c0495285a2cc3d6828aece60aafc0e918cf253350145cf000e15b0b716a5be34eb2cf7db6209f2506af4e26b95c24793ee0e02e407074ea44fa95f38d5cb46f4b3eb46e8f08668bc440fe1d308c146db7321c3523e7d22496d2baa24be3d09d5cbe7e7d8afd9fbeebd1105fde84f5231a402a57258469b39ca43551b702a7cb548cd861882d4feea211bfd06904be8b3ed71a546a00031fc5273fcb685e3638369fae40e74acaeaa9397ea77ddddea69960436adc6805b2899505f910f41142915f15b016b417f762d4b68569a8889c948df9a4a91b4106b6ea1a1f98493776f79740b3cd5913b1609f7d3faae949245049ce896bf2054d1697836e10319fbc47d1f16d774d91425e0f0858637566d41f0cccfa397ecb1e0075a238ca6c0cd8eb788dbf8546d9b12882e9568201442862c3506375f2a3cca1efd93b5d75b15f8eeec7432baa16d2237ddcbeb1992577d61ecbf822d06bb6c256cf0b9e1bc5e5172593e9ac16234445a12bc34c01893d4941a81e06a4a08c333569e19d7cb7bf9e56af8e12386e608c88606e46f91dcae4afc22c9407fbde2d6977d9d4f29242ea704e4090b2b69982a7617d5058bd5451f9fbf6bf5a4989561c332917b3ee828b77aea5be77d21e9f9c76ff90c84b044be7751d9ecd23718f16c1cc07436d91763e40295d8c87766ddfa4c5d393902455502813e93b8d08ee44d8e2a12c15f334905481b173c34a034f681868351f003d6cbadc8b1557b1ff55d9b52a44e84f449eb67a91996bb68137b026d9f12f9ad5ccfc74acaaa048c18a0f89cbd5382a54d3ad1f7f68d92d5d7307e5e9b7c471e543a6155b9780561cdc75db32fb18b78804454dc09933ff36f3220b0f7341861786b9849e91884f0a673ecdbb8a2ddb7c7a8a846b318499985017f17b18df690b033c570de59cbd7c2cae5ddcdbd8752ac6fd03a243565f5d4c9be0f8c7d08023369177029433b986933a20eb3501d81663a671d69c4e4f5a1fc53230cbfb3f45b52cade25b976558a50c5e94433b26b2fe40ec4c7cf4d1da68bdc5396aff008c94457479a9e8e700a5b0e26fc1924cdeca4343c7fdc6b2a335b61e1505b7677e04e225486cd2b9eee1b7d65b5f2df93790e07a725fc96e2d6b24975f362d9b5657e48057b81066eb8ff5919e697d5c928f71d13d869a0b7326fb70bfeba3ea5042aaadf2353d6473f80db5c48d4ec5572233da512d1b9350a550603d8cb14357a56fc7d06912af73031084ac9ecd3c0d7577fbbc695f6d1f55d5c99187063f05b444a97994f7bbf964595db9f82d472f672d9fd507b45ecb06fd364f18db6710888d47ccfa1a1d7c09c7bd8ebaddf17fa3eaacc0ce48a25d0682a31255a496146b8a81a3165a351e8c33394462ae9a77dda1ef1faaded51f25bfb7e6bc8f26b8049a25db42e3b8ece32722291dd5fa5217c90482d0fc65ca1a7c2d8a4f5e33fe8f5c23a11c220cd85514bb2c33ce682a7940c173620bc9be73071ebbb56607e5fc8697bfb75fcfafa6a578be2f54b23d300507a7acd7f51483b7b3095ca4acb846725a59039c9e00a50ed16e748d34a0d82180bf3cee4dc770670e780996d07ec72c777ba86b7daf9c8ed3db6a7cc2467f238467755d2b9947237145f8437ac024a0791792471c0bb22cddb401a76af6976be18257340d0855f87ceab2aaa0946c6ae46eda7eb586d5149cf93c5a6511d773e5b8c43e4beef7d113d151c514c998ddb891a688462279d3abcb8f8e9033615b081bae92cb106e2c690e3f3bf659747e5aeb6e99bb08984c70b37d89b6ac3f6f4aa513db584ede590135e73136d274365ca872af38666906c9d97ec5a440f0a3ae8184ef950472ad83d1330ff7f41ee23b867094fb8c2152c34060d7e20decc771122714b7d1943b0002cc8da9f8dcd6c03ef0e4dfcd375c28d8a9970db3231e0a49c6a89ff2a2727822cc59b19db752acb3fa5cb2c7bc4cab5cd61d326370303f170844a33902cab9907b385a8fb683a6c880ff6eb0193c64a5166b81d418861798771801183e184674e5cb2ec6ddbe84a00eb0e6b7b58c8a496f369491b22cb998fffb3d4a29321ec43be391cfdfaf1bbdc0c486a919a6caf0c1714b2c2f2fe2adb1f43fa65457afe17269c0e9e8c539de78d57981355732b372a815a78ea539abc89d0cb474335f94094e52963b3573625a04c593eb54c4cb6ef2e8d05ff75ec378aca1a41f529ce6194febaa54a1e45b4918a19c29a89aa89f1ae6b7ee2b7cabe0660d8457874f48dba0e94e720b72b728f0e749af21482c868653ec69f6388369a82a1403145a48fc1442239e8a76e539112e7e2c5c0ee3c73e8eba3fbda2cb08745554d6ece3250d9c545d4b00a2bd835259eae37734bdc517da3710428714b1b74b9af5bde6dd58734cd859761fca20ca3ca7426d9849d4eb9fac1167d5526a75c44cb3eeb7c4e3d7a6aa5403c38ef93b7fd64fd79412899876fd3088e9ee0d0c4b644984e5ed6fdaa816ac6f20588d5a9865f30566fd93ff58df5dd63dadb9eefa782cddd2e242a8ce33fa1daeabace5efee94ed7d387be3046ff21103afe2ca4da4dac7394dc8d6c6ac8d55ae43bafb71aec9e056c43feb79a331bb4d67d4aa62ef04226ad7a77f09b1f56aa99cae409ef9b29f6b9d6e9b5f5ab7291e1f8367765c67282677326d2e08e9cd59e63a941303370ac374cfc884453c41bbb771efbcf7e560192214da51a2e0abb89b5322395cea9fb1cda61c4f2fac24aac714a6040f3947e94ce8e924081827abbdb27c4dd57c474cdb548e282c7adbe2e3825f3f60e6dd308727a680bd6ee8481e16492d8ab885b0911bbeb75973fcaafe9df5b7a6aef139fa2e63a457c640d28c0e7355181bb66c5c93684727e893543649dee078be85a8b74716b52a6fa52aca6416fec3af72200841878a63c15c677e92eb11085b31f4307aaa3ce89281bd4a245c6d3e950c394177b058656bbed49eda420c0a48c3ccc0dc1988f4e3e91ab2ad8f9d771b22f3d81a1dc010ed22f291aabd3db266837ce4bc6c94904a217fc297e35affb09884e4e1a0a16122e9e62c17702346fb1c823ea71803ac3c6f290c5474843918968cb11dda6194e6c8375ea9ad63cdb3aedf4fd1839b7320d48eb95fd60f986d07847388f189294bd7dc1e7e688a74efe92f85938239f3c679b348e0350616804ef2aaa5cb17c430c0b2a191039d0974bc15c5b44788ff02907fed04ffb382e5ec90d9a7437ffcc62a9225b805c3599651924fa56b41d5c3ee4aae16d82d70be54b08e2f3abfcbe2e4a8b3af71a8fea84954f3f6bfbfa93a1b6c2dc803782b3d4dbea5c0729a52da6770a1d27230adb6b63a2f16319a18819d843ba683b0eaa0a78f24f5a30c52f1ffd049f9be19840e5692773863ce3d83fda171244b304fe91863b401c27ab39a4022f6924ddcc0cd4c92041eb564b049c3890d9a264bc98616cee6d6547db4aedfe1afef5e65855b0eb0bc46c47913456b5c0ea5d255a497d519d7fa529277f05b234a89ee15d765b4c8acb47e0a1fb8ecd72e9699e0b0f15a9615c6f439be972b18370a8f15103bb631973a778ed1d9f3b22365906a0878df6879469bf0add7ce1ba9595254a0251d9c18320381e0315c3e640b4958f6bc9d2cf0041a702195ef942d5dc0b040f81144f33f09cb37b147955a7e58b5f66b10c574db605c7295ef69cd33b83b7f33d06726772b7909771e3cfb18e502c82a3895f8cb70014480fdb4a63494aa38c3cb0c89c9cfc19f84072b90dd27a9672eb53f5d5939df233eadb8f1c3ad609288c790e7770b8cc7a80e6d013d9260e87dbab1bcaaee343000b1b72fb181826da51a2709178571967b03671523f20ff53dd1eecf6061c9b285296f07d1db3dde4973602920892faab20bfb2652cd830e46f28de79e5b65aba21f7354cad9bdd7f9bd36c6a1cc2ac2fd29c7c915bcc2c3b1e7f1b1bdc8c4bbc63e9c923b5904b3046fb5dcf56e723d0cf0b76b10bfae9fe1dfbc46aba67522b22894a85d9948fb723b4928967be81fc2717c4b3b1e34208b8e28c430716014796a0e105ac50f44708f584d8058a42d4491cb59c7c6ee2029189f40a9c64b7a1532d2e3cdf373b88354230504f1f4f9ae9bfd873759559fa080332fd0bc63feb810b1a1518eac3fd2ccba3b146422b8717c6add048ac393137f88b2768b94c5d44c2b4a4a59aef9eedd882d264a730310ea14346153928beeb61edf9fa678a9cc3025c79dd177810a9d787c4622684c46e19b1329830b10157c72d3995ab680ea92c55082ba67d9a47495addc57ce2b4d0f3360a91ae28e50257ab27c3ab8efa49ac61162bd52f85f6b22012b251bfe626b62765406a306f8500253d86b405082f3c980e458f8bee030793d22995a81d68630a925edb0e34e2d711940dc36283d83e919f40750fa63e363983cb0b4a26691dcb241144e6c3ba69076c11c578a9681d27542468cb5dc294fe9934583d13eaa84711d57e4a690fcfd31e50310e7ef04cfc27adc3284c0710c415b4ca1f810ee4400b036ff620801a75e3fa2c5b8844a50ac9b039be06146e790d09bc2955e183f33906cdce97ea19abf7c7d9fa0f41aeb9ebccfe4bb509847161c02b75939379af694eae3c3683f5e3774a4325e9c070abc862021fce9be7de034b456da0642c12ec5ddd967d5344918555e89a60672bfbb2b15594fccad120b322739aa993e1a366a68ff45b2233cf6bc10ba93777fe5986cf7b444d0fd090e97b1250e2cf7fccd242d7660d94cbe4ab16be035b91535daeaeee2a0e3cc23bbc91f02186381cde08fb8b99408fcf6d49effaa770bd53da4edc4f3f67f282fe24bd1e71611cc14192c37d1a625d2896ae7fda9f87f99bf3b25c32ea1729bad3f603ee6b72891f0c5d9ba2ba216570066bb65ad196486502bba2c69500a55763fbefe748668b03875eb902656de28ed9b55a0ff4b1e25582fbe31d17d21a85013f8a26e96f25447e29fc1b5c06d89ee9669a63cfbf2f8e64e39fe6d21ea0eb216f976a79b60711c48b6af2268164b1a7555e7d8c8b208fc75b616ab6b02fa14d0ee988db8c673b8307321c11b12d1b77b9d3a9fc810502aa3fe3ea34aab6a7f88eef26c9ec9c2d3809d8ca26a78556f15084b9eeb717dd7500725897c7cd81742bafefa2f41ff600518318639c9a52f785626d0826dcb5bf6efffca6445a0609bcfe2822ce740208a240e7e1fef71f5f5244cd3bf5f07eaa415785e919adbac55baeba4433d11f00f4e9c97b53bb9b87d1aa19dedd1728cc81760d54178f04b2a7b70f1385b5f62782a1211d7c4adf4dc2d1f1538f7a6bfab101a2ba20ae985f51013ec87d27611cf6460828bd663f8782d239bb64d98430923f497e9a52df46618e9ae3da64d2717da9f5d4cb663cd10e5d39629b576f3abb11db1bd37639974bddd5e108e9b917cc91c8626e0198f5403cdf0ab94c9f3f6314bea53133b5cec211a867908a0955a727e2438f0133fa54258f41bd94e3b417ef59b672a14bd5bf0762de26ba087a22d8eb5d7560c850089ff596fef3780325d31d8eb213a687d3aeda3fef1a3f0f0d60a8def16101fc5068bcfb504dbbf6230e623cdb2e98802273ca4ecf13991273431fc37ef354787a39bb11dde7b6f81e0baba19131e6e36bfc2e799f243a022ab2a12c7b12f8a4cf186f8b33d4cde2f9af6d41b2e1d49490e58244aa9fd8107bc75f9cb7544d58e40c84e7dae668091f477db22def32e6c2c402f1bab6ba721b53c6bb4de27a0e5e3529fc158377159ce620420ff748de2d32f9416af5f185e9b692025764e281ab534c200fbe33941e7a2bc5d1d439ea25b9566e2ca701c4b44ee37048f080ea007a85674c3867b8be363898fee87b82c5681a76d629447d7c1f938599463af195308a5af548e7082f6d59295c139360b3e01d9f6c493cac6e594403063f5a4a4ab3e2e75aa84a88903a4f20abe88a014d676e13e07dcde353132b55f6560f1008ed314e1402035291b025a3eb89337e8398d665aaa96bba5d4461a37cfe27247829847997efc4c29e08f3759e62a19a540c18afd9bff96f8df5bc4c998003cb48f312b4a8f1fdf01016d0e1830fcc1551eae6f73c2210840237613e882747993643b2aa7c8201093a9095e499bf71ec45e0c9844f096a702eafafb49ca684f9341eb159d6f670820ea3d52e6b796263e8c6279dc006860b8119911352485c714fae7ab7351a35b8b7bce3319e93ad17e969cab67ccfb29874de5c92d7efa32c3b8d19d05382e5c0e18ab5ab3434f02da9a4e8c7b68fd3e46e9b6da00080d9ec07702698ff84093165494eca0c6fef90bb851c73751d83e9cbb1f4545c0f02b3cf470bc44987af8a7caecbc9f2fb595591254e184b27a6a9c64b7a676b6bd930f4508e732f177ff21429c85a79bd6f97b5dba8ab0203eada307f5df738ff170302a781dd1d087b731d6b83c51bc96229c3965be93f60eb5f925e24ea68e306ee879e9de016e98d6e678868a023782d6dd4098ad405271f9d2108532a6f1b9cc5192a4390d2b324b38e45edc49f7880aaa1b67e33336462cb981eba9af891b68a1ef43ef8b04593344504b53e3ea21cebd3c9b1e790a61fb3ded3ec9a82db6253af3ddd41022a87c6d54e23ea4f58258c33359bf6b6bfac9417df02cf65d7250f782c9f81d08f8d66624fe72362795cf86be3d3bf06d6bad4fb7e6b48a86fdf44a8c9b9f35b904a7795c5848072a0037b45e8e56dc134477a510f5703cc3c8d8c39597680564471dcb13a4ad50e343e4aa1aae0aab13a148abca6da8591a71af0a7e34a3e74b1685f60bad37ddc0316cca76bbb2be66d110de6a23083d32f9ad4d58a0aaf199640df33f8ae958bb4e545079ea0a92f7764de0964afd2deb02282e2df639ccb5740cf614e03321f86063c2cf9531f36a3cdb497192a029c8b177a9ac61ed4be84aaeef63bbcc586dbec21022e59bd3aa5b7f590273a989648b442f2b224631b145a69b77531ae9a5e22f283078b8aece134504de2ad55af33850b07f592e38a10c84be0d53020613f17266a3fa67a30c3510d59fc0e6f3e40367d808251a292ad5eb7b65449ffbd7ae7f7a149b275ac6cf8df29db0c7c0800d1608ef5cf410157ee1ec211616a67116eb5c2da6dcec259abafefb84dd79a4dd00c6be4d5c65c99100e46effc38ea862aecbba1bc00e875f932e1fad12732b60b1c7580d2c595d4fdf87d00ea4862b0f853317f3b2b93b9e624941366528d4c505a4514463364c78d3bd418de87a9fea2a246bb7a16c8790cf55f4987dee0b2ab0f72547fe80b50deddd52ac738f3425fff27eec013fe933ff8cfbd6089b6e049ba6a8a0b8f72fddbf4aa604f6ec6a91003e284f115b52f1bd23700d62f6fdc854b6858e3b70875a2a24e6439d56b07ca4c45977dbe5f1ac3cc5b29995e432ee6a8df6ebc2a567a4ffbdda2ee6919dac849a28435a3703c5b264bf974d4561b76e1f9f31ae1550eadbcc419f0ea45781f233b822526897be3659b146becc7ee0babfb2727c2ace5f3650c41159584c53826c18e4a3cfb24418245763b3f267d0b31b96898107cf49299a10449fbb0460e29e8d56c31a87fde63845eda0d397be4084da7f7df84e1867956f89a9008107074d4d97f434d214519a0497276edbd514efbfa43f8c7397d5f5e0030881c4705ad5c079a9265f462a7a2ccbe6d101ed38e81a76e152e54a620c518ca693f9fd63ffaec6b7a04cb86b591cff55977613298354bfc340bde5a2fe897733027ae20165282bb814a1108309aa16017fe1052379836e46b000408b7c62892c9eb472e5fe2c8275785fe075420474980b00d4214767f762c69afd5fd59db761ff10cb7c9383adf6447a548cf929fd6870db1be479ee47d0d90b28071223dd0200f48ceb8a7ceb7ab099b2c58c91b7904c6a67a5d15cd8e5fe72143278e4ae5f2a25422297e4a9f014bdab7d193c9eb971161094fbda0bb98559cc2ccabd695d251cf34ec20c78d9bb45aee186621b302c5647d55c842685d42e28275e7308fe2eeeefb2a5146f014e96cf7e9af687d3fff30baf934b6bb7802197822da856fa5a3aff916d0db8d4ea2e676c970d6f549ea8bd30e573c9d515623328c5b897f379c8d7c5cd6a1058f665db8798824626b9b64c2a8828014775e9384c8741648f97cb161fdbde393c5bde88416173b780a069e5c9c6981fdd419477e75cc69ec0ff84636bdf8ee7bfc772802f2b37d87797121502dc253a677afc964102faaeac16499e811412c6fc292e6265ae0ac41f08fa6d7b44a2c03c872f9eec9917c9b8564fab8a54cfafc97438fcc74dc38be7e2f77ab6ff50f2f566df0ce3f6276add23602362f3dea267aa95b0dd5e0a3da4c62aaee107887634b84ed302421ffaa6cfe8c5f32e8d707fb29a4e68b98d9b463c95b1b346e29f760175d855856ea4ff0b011244c0728a6d0ea22beacf4cc43b4ffcda0334146bf0f06e9ab72527f88b59b62a253d06f984e9de24b483c973739aecddd2fa992da6fda54ded21016a0eb7471ee15147f2963eb08d8611b85a9465021f92ed4ab422aac16dbb734c777e529bfc6a40b02cbedaf53351a1fc478c66e01b7a20e98694a9cd34c9086e5d62f11c9acfefbd46ccb45febc3cd3a31d499fbc8c445a64a43a9e3da4ef93843ce54ad14b177ff446c1b4f1e3fdf4493f826fbaf458d38fb91a909c0b6a71fbcd565769a27316686f9ad762653d9fcfafee51f58c897ef3c79ffd470b2db14f0c65fb9c791352894143850ea13eee56685218df8da7e1ba6f576bf1e936caa95901c0d6120d559650e5399bf6efe44f7ba4f79fe32c9d390b7aefc8376e9382f9e326eaadbed18eafcff35919bc295b98aa1ff980d23b56cf987762e3c02b593e51c4512b8e0171c6ce6ff133d84f1d299b441f807e9dfac3185cda7ec8bf4e284b16003b310c264c3daa5b0b3c6229d664ae0ffbed437c85c3289dcee6a71cbacab8730f5e49c6f1bc5269071300261324ae9e3b4e5f770a6c680519db56f648486624bc3a99b738a0fd1fb7056d901b6c6e612ae33bcf994033d6718e7abfd0c2c70006f1c169ffd3324e49586873bac53bc69a1468eea8dd0b3be05fa2b4d7386530a89393d7cd840d8aaaa20beeafdd9c89d383feb06940f001bfaa0dd8abc00a2ff78dffa25509fc71c3df126c6c3d7eb1da763a319ec8dcae355839294f8c08aa5c7c0575510a769293fc4e1f1718470cb8211fca01dbfee5f996bc2da9d7e2db9b3b7eb31d0bc535a11811d5d898bb47d441bc0d447868659525eba33272681aa80eaffa81606b41f2737483a85bf03c08659542917e7afcf5d604f7af62bdf167b3c5cd7c6e8162bb8924e74f79c09fb31460d47475b556ed36e75fa66a96abda92c5140109745c5d17c81bf1e7feb6b1f650ec7dfe7a3a4b11bce9e3ded6305de55f86ce1a51744d39adb0719f6ed972e98a6812b31570d534bf853bad212014d9dcc6a34172cfb9a273db7be4bebf806c89d8b38fb1db6427d5ab91597d24e46fcf7a1144b3188abea5960642eca2b6fe016670c2765155d497a081f4edaf22818ef8257737a084a7dabc5d6e402937c453a8eeacbb11cedf5620685e95db5408501ec4290513081abd4208c64f8265462192e6f3e93483827f189ed7582f267ffb6f79a4ea55d0c918c4b56a6d7c98161d0e31cacba3f6e9b1ecc1fe7242083f3b8938a9a79a3897c9c7408f11a668ace382fd06afbabebeb4a978fd307f6bcbeacf71041eb69c268ea14e2996dcc7d50866e411f31ea6938678b9d38f2e5360cb334c2be8345241992af795744411b77e4eaf708cadad4fd34201ff1f9f1cf194ad2bc8e6368828cbcc0aeda1748f0134592944467cf21aea264eb27a940f5c42e45743ffcbdb574f3aa9d3f46eda437db8a7f40ea32e861ea9b44f21bc2080933b2e1b5d7c45ab9bd80f830cdcdcbe3a9fd82323e67ab897934ef919952843cef8cbf492cb3e3750b0e371d0dc4d34f1ddf4e2ce9601e7e186185dfeeaf81e54875f1df6b07ffb07081dcfe544a0d79bf80d64ad48a82ab8993c8b352653c09632c9cf8e025067441b490094d423bc95f949f4d0351f08d1e4bbfe45f3e1ce59cf60aedc4fa9a75687d536a681858d3fe1b4e27eada3858bbe01e5e6a3752811e4bcf089e07a4c505fdd9549a3a12ca0cddacd39d0da2d0d19d0423ddf1fa88c08368d02ebfd23d0c7ae972eafd8713b8306752330acf72d2252caab5efcd09081103a8d79ee9810eb576a3bec283e757979ef2b3d440d458194bdc5b2e4a7bdbc03a955a406702cbd1ac4e58cb3b4dbc6bc795640b1f93a108e670255fcb16448031c016c0d5d1c876579f0470444e2790c6aa5e5d1fbbfdd6a4e46d4fe96d622317cd40a61a9ed8c0d52de49b892a0d3e10405fc4c6d4134dad655461bd3924a3f47a9e3f31357f235bc03b166583548501c5d7739c981bf99182dda494b225ba409ee61bab2cf576769e43400bfe5b41b1a40a5ac608e679f5ea2fd5aed1d196e4d5943eeca6002fb08523d9c1d66ef94efc334b825b9bbda7d5e0e15db2522af8926ede17a3dab4b50d8bd626d9dd5883fc5ab3fb8b873375c838173e11338e7f4dd386d35e6d337e2c5cc6d654235b40c2b2de400451aec9596512f12c8b1f75bed04fb9231ced535a2fd1a36009cdc3434dbc8438243ae95621601871917f2f764ba4664f78d7a8533ef09d255886ead31280d576f5a1b1e0f62101221e25b533c4e2322cbb221ee70e6cca283a6f878bcd341beb31631b622f9a8912148cff49d9735bea67534df6619be17b7cc2efa721aee202e51449f9aa6ab8c1fad347eca21d17ba273648ddd734972bae5c29b998aa7dc060f11f69c62bab596f438fdabe84a84173031f67ae0ca1e514cb873cf65d8c9f59a08b87d15333d10c7ac23a6da380161f789f6a63f6458d4b1729f016de098102374f45938fede056516b9895735a89b65c650465e549f83506e68fa5bfe5a718ca6523bc3e889b0707df1b7843725b7626a483a6a668e672b8a8c28dee1fabd978e35111cd16da3b183ba4a793a6fa87fd22aef05a8e685b8309eb2e86fa2ec721612fe66bdadc92013841ffdb2cee82bae1d875c7f3383ee738a993fe4981aa0a8ae6f68ea7641e70455f1bfc93a72f2688d27715a1ab7292f3d8d8cd5c902b8f271866cc8b785f4cbe35795fb3aa96008c7d8c172be6f4d6885e04c4e2b6ed1fe71fbd484a7fded06321276b86f27851a962dfa60732dbab152f0116587d2b05e6b392ee91c9b2c6726c5f6b87741278a0aefadc569ce52d5b6c59aa4fb13f739c36155b53e5cb1f9202749bb6eb2b10c409b6252b668f71cc4af1e8b2b103342b6096e463fc2e7a86a3768f8e8ffad11c2e19b52828f634ae885c99c42dfe86458b3b6451882df570156e591a3f9a5af23c60e5dba625f1b932c3deec17b3ebcaf0edbf88f85cad027f0eae4680c9d3f9b911233f704064d92e25a1837bbc3a5d05b689e886b02b6c5edac99a32a88de820d53a2032b134c1ba7b998c1935a1f9d00b1eafdc7d43dcf465c5c3a34c2cbe1ab5b4bb76154fff5b8f4dd856f4c3ec78ff80d1f9f9980b610a92502d9da62af8430880e2aa5121b9495fba0d16337cf285bd522c05b47c78b6867530d418845e6ae6948c0253d2017e0b31429f985637dac0879396811d50b1e4c8e8765ba0863acd37068af268f5518d9b022968e451c110c4ac64d64af2d16233ac84e2d74e92b8f11d481742014c0cbb68b7c0e4fda8fb9e9a6355c9eecb4c88fe1f170d1833334c498288d3a93c49352e9b58a336001e1e5497e2b3031ee34ecd7ece0bedcfa850e8d96510b5ef51b55df0c181a36de0197d133818276e7a4ded2c6d0cbb959d505816f02ceba47f353cb18721736c0f570b5b7dfebce649f4eac22dcd3a3d0a692db532d16227931f138e40c14988252097ba9877b50d6e4c2c82483627fe161eb8f84a4fe40777123254843116aac2577403a039d6bfba2430cebb36e00e25e668dcad8e3880ac55515726c3c238971fe0d35acb50b2cb4f1ba086ba18945a982809d8e326c6a1af243009a9e1bfea4de0e0e082fffacacac38145a8820f9dad5917da87f7eabed185e411002b75f3cfafc0eadd466a824d50030c2a7315a7bc1c0eb98a87ed16c49202aaf0ff6d33b7fca047bde708ca4df93d4dbbd236fd8e6c292deb9a42899bac694853aff77cf15f0ea6f4ad9da52ed1a1477cd384de6d89458bc3a88ea6618558f14d7ea30d6e959bf26775a355d8f284391c90d12fe1d073e4252d00ceadf96f8d5dfb37b7af7a0bc6fa8b28ba0b31be0e5e80e8a8f1b59f10ad9b826cbf0b1247e7696033281b44c128636bbe87a412e8a1b694fd88416e7c9aa3ec466bff96a3ec43f2a286208b05102c0074ae94da4c3af5b85eb575061a4025f1ab4f8e291bf51626a96f6ba4be456e86d32c996b5e11629130b61de859c72f79346055d619b2af734841329672f3d654e9783bb8e4f83815c69146432bf9b905db3d712da9d01e018de29357b71a377b151b2d11042715788f384744ea1a2c832da2d8029ee3ee2293108c9641017bfe79944d70bb61d63831c01f04af6a30f4e57e92db3b0c6d97fc2b5f18948345a17c30e38016478b999c6f38bf91fa93e806423baebf5119ce746d0d71101a0e8a163578d295015abb445c7fadadd014eb89aa52a98bcfa627b7e9520131d843c5ace3a99e8a7c1cbbb194dae189dfc5ded77d00f4ab21776816d98bb488f1756f8030eacaba0dbfb772252e6ac7f79606999996a3a4e435acbc6a42d0b5f87a97e2484d17f4838a2fa48385b6220b9f9e99c3cfc22084685c9567fd24eee330a53a02032d3d0ae044b6de26d3912dadfc3d54e5ca1f076280c67a7df669917a4d0b49f3dbaf5475b5a0c96e0324e16ead505801b470c524fe955e97c01d33b30ce29525036a4ccc57cf05d450e90c23da25dc66d25526c4a9df5db0b46e8929f2ef7b37d1f3b4fd9d9fa58496aa4433154d6763825a0ee6543e32949ca1a8ef31248a5a44fe1201bb86fa180991b4061157be0bff99c730e3526c1fbbd95b3791e98511c994df3fea8a77eb01c4641fa1ee451f02ff582cfb2e190697472184435909826e3e68c6462dab058ce9bb75b061544b377302062f75f7f32e7cc09b1d4187dff55fca22facdd78d429e5bad3c3f5b95bce395fc81c6d0f6d4fbf8622a90ac35ddb1253732012d568bea1d5379a2b6ae03ace1affab2d6903e08dd75232c5b653c9a2902783d7b8a60f6043e52e1454bfbff84cce73d0959b827a7b3a6a36eba41fa473f9cc7a9dc6a6e30ddf0454d5a14aa45d90503cb0c0f566d34e71e5a1f99e08475285a575872156376b90c580b51b1f83490ac3daae0ccbba6ae92d27d862e12c230f19325f3e0db960b8fa1f3f149ad57384323d50baaa045ba62bd93175409bb8dfa28c34814ba569d6db2d118375b01746ef09827ca8ae4d88257dee9f79ad6f735819043b3d7444023ebe0d3d73ffbaedbbeb93fbbf4faaac822d90adbdb889e28d9bf1346cf5a4262a63f256e0f9d42f3037144fa5fe2be2c08af8cd2429a7a00fb402f2747d543efd198d6f79651aa42af43a86a866d8e044ea48f2983f3d05c75b904c3ddbd84cabaabe51d2521eeb5551ad6cd72053c26c179e077490c4b89ee1cf8c926a57d7170d2555478e1189821b60f434aca8ab79e5fb3a306f6750ec28f84bf4713234d0292f5cb1d6a810a877c0208a89f351e30217539f45212e697a157c7da50955ac8e608c7081e7e5594479673ffe8f02f3d29e706a4f213e3941c453c5aef009cd722a21d843ee6631bb8b18a6d9990389f2fc1a903ffe48089726a7e19c72a77d493d5f6d7bae36cfac05582010ae2c4c339ad1b059518af9d627adf264aac18fc3efc289c4103cff9a8583e01a84cda49432d16e24102bec44fc196249c567d7b7707bc60dd9146e58e939a0130d41edb709a52044a4485e2b0a386d5e845ec815d0d1733af665878010ec5c8e9acd88cb00f040a769f29cc88eac215c81c2a29057396787ebc04f55235d308fff8337498d135c7f8d754742e7a07aaedd5221f5a419bbfb7758ff69f6d2f4975aca5a4d1934e0b72d86aa43968042af9e6018521ca48a30fb262cf14aa687e151636f0007a9f14f505b138c38d58b0de097672beb165f38e695e84710657c752e9f33f5891afea200772e3852b0c3c3e36554e846d626b99dd19102937941e58264b1afb2b6309879cfe4f53c469b67e3054c4f21eb1ac7697765fb387462a7c6bc7c107020a543a7476689f016b8296140d00d93962758776aa922e56486c554f3ea7530031aff6ca164d938a137d506c9d1c9d8c97b7fa056136720f33b528cb6352fc5275ba77495560a8806e5d0eb9ae930c2d05a79a740f3a6bf196e933d81920f212059b94d2b401ae607e35ebfd236def00270dd0821748cae64cefac630ecd37056caa32286aa8dac2cdb55d34ed1e56b238574ef007c04a0f2a4e6ee04c7072df3e988ab198a74e34b3f4bd3a986a4cac18cc0a1b4a40caaa346cb56e5d14f1e2430c9457f7ede58d80df94b9dffb5465b12b9291950b6fab75172cc7e80bb03c0905a09fe73035f28da0c3e61dbb7f6f276d24137733720855b84fe398e0542f393b241bedb1301d9cc683a4efcf0a179c496a52f4a426c27c1438505bacafc4b1d08b28672d2a10eac2736e34a3360d4c2a85cdb54297fe9ca8bffe7cc7371ca31195383af894dfb4e1d9054856a14f31eebb483ebfd1ad59c435f11e8f28b5b077b4f8824f288a7360b44884a1efe84fc969655922d728a0b2c75203d85a6c8ac80b8889d3d1e7f10a58ede46da2f8797ae6bb7c609a36a7e26f9483c3a8b9d4a2b1f753ce6f79e5f11acdda96fcb78cb05a946164f78fb22b5409d2298376c83f37d02d46e4c379c23f8fd8a75b13feddd723a4acae002e2cbf0848c2294fe50f3f9d86c0a97369b7f16b4788bb9d9c705abe51d74951d278173931f84aef7685f903319b845aae288d0e05ed8d087a613442bc368b37cae138414c5d89a59f60da07ccc2467914755a410f77247456fa402a491402833ad38c658cfa42bc89d07a08166415cd8e5d9265c42c1cefbb415564ec94ac631bf562e626a0095882eb4db72da6d16214924eb2d7633989da1d5952bf60719852d8598457e36e579e8e2f29b2a28ff2dbd6032bb39eb6320d2f07ef0d483581896497d71c30737098a56a0c12e057f1f1634e22217720dfe4c00554a1e01c787b33bc08a0bf90ca9cb57d1d27a8e199e221ca2185789e7819431eb4da806b5037dff1c11bec0d2058d3b8d69f8aed1c02ec1c6a292a5ffae99d4fec273ca6c890ed2873d2ecbefd365573f6f1eaa20611c578146485b1cdb24dd826756f8d60aa97b8450a35e67d94d182254d64818d2dbe5bc53e1945e6f49fb4849260532bc23e9a0231afb6145c2df4799124165546deaeedd4455c163573d1b3a7646bff3eec4cd71bb89e091fe538e904d032781b1717ad11c3b2e66219305647227560623152304e7d9992da0e644c416131d6e1ff2d6b6159a6889cd2e1d12e81f8405d6e8729f3657dd8d45192cfd1b96dd419843511247081a6436f20d7929bab71755fe5d96ee7b0ce841703db84b09d73d78799ecd5a0efeed5e1dc305fd582259b398afd6d0f0856b35fb58095e6a80389e95a2c2d62cca86cfc729d9cd9eb56cbebe37837455801481eef0a8c2f8fdd239918b39673da2d95716aef57376fb2a7829b7cef679c1416f75fc3e9e254638393076c0d5c72185b0fd8f2de6224e771a28a4f42bfb06ca125c62280fa786a3cd8739f300e132d48c37f44bff8dea0b3d33a7ad765a8b6b2be38a2b3a9fcc537ebf7ebd488f6e28c78239a42f29f10f84ff3358206424e45a499b8f4430ed0948bbf3845c57dd6c437a85d43f182ebc819a79fb5bdc34914ba087cce9b28ba0e2401c442cd8803ca41fb352ff21a51cc4d3c4c185bad2311b5a077afeba1ed4c85139c011a0c415e98c01a05b961bdbfa8dd59a5a1d23990f08a3649d08edb2c100bdcdfcbb703449bfa9895aecb2c1357afd734677ceeed9d53c5058713c96b67dc68dc14b5ef500f6aa43fac770388a10506f9eedb499630095a2e4d08105ec1446668f72fc71bfa979f7e1543361be6e8a9820c21ba23c56c01535fa27293a20362228da11ffde771d7887ce3193faefacb549cbe9aa6c1f7b7b03e4b413474f602809b3a70ad8804ce878a92846fedc73859e21b3045181b52a8c2f63020b459a532d18e368a23cd3d627cb6d16ed9bc4ddafaeb4755ad92486b5815286858dde29ea5d327051beeb10b5b736e557e16156c85784b4a8ee60bfc91013e986d8f3a675de623bfc887a00c21c900a2afe3688b2117d1fef48db1cb0b4c6bea27636fbd4a6076d53ed290853795802f9b7a2fa045ec8365675b80dcd57ae63266017c7be6aab5345d09792f4879572922a643b45eaec36291e9a598563618d9775eee90370e82e17e0773dccc7cbdeefdb3bdd005aea4d716681861ce593dc4268e48615d767c25a5a9596042dd307fb819c9d44ec0117e73fcfb2a56761123a7ad99c3f59402ede4d3c1c0d79cd4d06747207324289c0ce8f0afa9c1391f61e34f5139379a839c1f88b7ac5a96903429d09a7fe94b40488264189f903161e7846595b61c1e3a197de8578e41ae69d9333819f0a264c3a6dd608daab5ec756809768e2c95e9200f2aca3a11900d3f079ea855e94f2475feeb13b3fdae2db1d73673d15855cf61cc3785fa7a60f7b485cd8e082db9ffc793803a0aa613e6d25090497a78571b53c310a9c16793238a18ad5922b760d0a28422d738cc88207b6cf8952c5a75a02cd90148ce29f17fa56c28c6a2e79860387b2765c3d2adb945a6bd74dd5eef53c1752864391690b521a468ba7671e69cad60ca75444eba84116eaae165c490b71ebb3f5ae83cbaa212e1570700520935ad42c267458f9f573ee17f14e22f3abe71873e7253fb42bede6c0e9b703ac432a5a435b39f62e05b804d1b4351054580993a3adc4c0aa6f1dcc807b0bc412f8b67ca43498b91e5887de49ef7c13587b897cb3b1da6346cd7244d7711169af991b259c4046a7fecf1c6d6729cf10d296fb0b42e568de851ef7c0e8ba29a6148352324d86f246741c5359aa84c8275cb7f9f5d1bcb8d72e335cc806bfc3c578b8f63e92889680409938b751ae3e04511885d7c9605cb23280c973616b9349e9b5a2717911110b0fd040059b4ff364c4b730b62530808492f0507fe06495d95c22cd7a546114bf6a7abb8912f3b3431e6eef721b7f910d627daf332932b28487d2b3ac144adb44906c0b338b7d216e1e5514627c0119bf26c9318984ba84f5097d107b836296c526c918dfc4795ba64c07e9ee1604e92b003b51a82dfbb3305e28720563f299ef262b5ed736d06c4835af9d1b62a7792accbc43547ab7cf778d3f5981d5d58fe490072d0d44bc9c8c5bcb615355126cfb00dd777633d747ba6ac875ff243fd53b5436c1b11c55131db7339ebf92cc4ee99748d7ad5408179133e25b031657ea2ae3b9b53aa8337a0b3c75643a912a205675990c270c6044a3a6666db1aa5713d0decc089071d7af69091ba3769bfe78618a5c80bf69f6e37b66d280088ae3e139b042c028b7fb6d443b967b803b100cae58e386746957ce6f1acb9ae4b3acfd77140ff7e005f955aa3b762d6af3d8f029109d923ba3ff66d9655a9138cc0f37302a35b51cfdc32bf6ff6dacaeafbe27db54280aa76cf8536bab30be91ad03180e2d78bb3d4b139d1ca14de77f7a810079c49aa84bcf75627ebb2194279cc62a658d7bd89d74f61648422b8fbc1813744e0204fe5bf9d4524be246d4f60c9a06e10ce8cedfb678c8aaeade38c08594e1c6f761261dc0120700f547d7a559d32da12de76d368b5e4eca46b67bbea0e756cb72acbcee578bf51fbc13107309cec770fbc8b7dcf6c96ec778180a97dde585f1967890c7897b867206b9a3401eee45934e0c59fe0512bd8c3b70f2b09795b34ad7e1542184ba27c8dde2122bfb930c842661cf07c9b4dab12ec5c0658906715b3dc515b1ea6db0acb15fa2f5bcd27bfbd5e4abdb43e0e3756a77c0dc73ecf26feaddc5b859022975764639c1052996f2f5a13c433ecb93bce5610d62b1cae3b15cc8c94582ddec760a2d5b1160af5c7ee2a9d6c918b78f2a1d9ce90bd9893ce6ff160b3ffd3de7b8e7e7c718d60a6850a62095ba558117f26f912ddad94435ee46743e9bbb3737de11a7a10bafb93f3744848d5a9ce607a09a760a1d397a8455c56fd560e60da7332946e30e703710b2a24611c286b70117324fdce35ab8537dcfc9c592c503ecd650b53198c25c33f9d4f24dbff895daff3eb96afadb8fe22d066bca2adbb10ec422b94aa9eda5f2ad786ba1b6c5b6020130e674ededc862d78cf28133e0bcaed49e7f5fddbf9849d80594a7f17975ec981af9012b578c3fabfb95842242a804283219e578ef549f9f93eb88c5b8d53c8a87b1456ede3f3fdeb807a3452abd49ba4e89dee9a1838fbc439401b3d156e49877dfff8377d2933ed587dd88101ce62b18343d1f383ff5dd8b906bc0a4f5d58089867bbe40de3f53f97cdd80e3b1e5680b6c3b0c86cdc16872bcbbe904052f1a5422199cf42087a70b261396fe0cb38936b225b94a15cc8ced2170fa5344f4849d62630913d7fa115e83d62a7c2bb91dbfe2c59b1341df310b6231bee91c173ac71e822eadb57410317c9cc36cb21892564cb613a3f97846f96c42c5390e37c8e2277b0b6655bf99f5f7817d7c2dcf3f37a5032e5a9707a3addd65724bdd26fdcfe00e2ce2cbdae40546d6ab16b26af686f5c2205e50ab7ccf3913a69411f415a1afb3c491fb92a485aa8ff7ee6c0c0ddada3e076de161bf00198803233f6e58335713d02ff124d4d49e73a870f6e5f6ea4dc5778e34f777640ebaf7230da21bf97b9d100621df1eea22c6a84a6a8fd0f7239ae59e91f1731f6c0469f81c66b7ff391ab8df3a2e2e5e8025535bef9a18ee15e410b2293741d67655f8f604a6fdc0c448681dc73469cbcbb14fcb4ffd3f9135d2a1b98e71bcbe087a90317b67b371229841d7f70ee2deedfd12981066cb1d0abaa5177188c32bfcad360749dd68b20979260c530f5a73792318ecc28d945a786ee347acea4b06a927024d91f460ac83d3eae3f780bcdf85ad2d35584fc58fab1322dc26356a9cf573ea2f776258540166ad1cbd69842e6f21e21e2cdbfd03e8cf8fd568e41537eff3517c920023a7597f91ae9b1b5b1578f70e2a2de23b594dd08242529f61024701e1f0f3d3dea3d1a4fbe2e9feee305b8fe625432e82f5dd49b021239a1c6d005c2f9add4549b152dc8ab1538aa35ac8775c3a66775a8fb2e8b3c2fbcfc803f535245017e588c68f6ef50aa18dcd6cda23182a66bf82b671fbf0012e83cab991fc55a66f8ba8e7b35ca75188c559bdab2266428b9e60d6684d1aad3a6c403e99c14aa447efcdaf9f2b06350e5c54a569076ba5fce49feb4d74d9db3c3bd4dc120dfbe02660453245c6f21e529c3637ebd166bfe97ee7f71d2fee279702960ea163b658b4d31a1560d3f6110e7dea3ae4d45d9b53eada48dd5caad78748cc852fe060db09abe4090f2456832e147d4e2e053f3a1bbb34db68fcf2bcea02af6f581422823d35a8307a336889b752d90cad0004197c1c609d198bb9e54084f2c53938040e3f79df84d6cad27ead037b93ecab9d037556b3c7c39653dba8f3bc9a021925ccb3699f7277d4525e0ce554c955cef897938b46a3b4c6d420488637c1fd15991e92498c32d971b593a080a8181e9507c46cb39f1863cb9f7a9b544aeff4d755b68fd22ed547df5aa0888c497e485e74eb14d6c0794062f2830ed9fe7adc4154f4bcf61e733d5a2ed7d4d3637df95fe9c9539e576f75ec2d5a0fc172c79fd1d855369b5423200841381ba557503fcaa6f776781a22f94efcc00249b85d958532375adbdf57e9e1c51a99fb50e5fb28301103b0a70500d2e277dadade6317425e895d50667de4342cd7b134b7ca82c586e3f23058ef91efc58d9d766f03cd1fc77a036ce837c09435a75349c6e51f7128545b3ad9154cc4811ff080e33ad63f03fea07360505d33468fdcd27fdbd3d6788ba95e8074589cf53bcfd5ff687e40ec07b852883a2af5938a8a86790dde66475eb141ab9441cfb5e700d84950237204235d24a9d2d5dd765d6c2de85a3b74271bbe4f080b1a49fac0d8edc2635c391fffc1b70354bc2a8db24d36ceb4d6fad7f4b781bbb0581384a18220a69c44ee86f91620e9e7e8efeea14fc93aabba3cb097fe8d1707f860059f0bffeac390c357f1d08d64c479a04fa238af4341395c6c0bc8e315574919f4db12220ca424249ed5b50f7530e5a630306cfdebdc591e7b1b818277e792f33f89655ad330c4f17a72c8b8dd26e1d8bb1499d82cc535703c2aeda9349fd5f55ed6a6b9f0b70cbd6bb57f5c3f0b0fca771fbae77961c8212b75bc912071443e764a0d1d71ac24171d3e2b8de9d0018b415b57235508fe52ac6869927b8c5e05d663c501895b4048af35ea10a8d0a727ed6741127b501ee2fc1761f3986b104b429484da95eae3600da6d9ebc414dc652c6e9f801c183d2a9295eb9811962fc9d54cc6aa2b54d25df8909be1bc224a3af5415816d83a5b210318868ba3addfe835dad392de85c3a8dd1ecdc5d69cb581db08f7c0eaca4f50a5bd00e8edeb98db317ab36cc085acdfff248019cc17e27c9efe5417c5c1e41f530b8753b34ce1d9b5baa1f472af9d7e2525592b8ab0d921a22cb0a434079e3dc920c014425127616d5f780a39ac6226f37a8b6ab22e08f8d30a89344a6f025094a7217ca2857867b685809404ba6945e0d55f9d5bbd9bb2f2865b37b60a914975799bf3c3299f48cad62348abec7770134ec9e95039be8cb88f314bb42092e08d197cc5e667363ba2bda3f534facbf1b51d6983aa0b003ca60c5e0f90a583a00f8360a784c00062ed3f22e6a82972329981c5c3b8b2af0d6e0ce6bdeffdac2e4ebc0730a2f8a7f4b1d67d6e7a9ece304a1d52ff6c4b906265eb50f29fcc7a0184b63bcc3484466b1f950b04c963637a22269a47fd5315adf9c092dee8ef80aced9966690f5724ae059d6323294d9a68fe1138ae4218207e3312a408b12fb7fb9737960e985201d327ff8761c7fa45703d2b66e736a6a4330ff01338b86c4b0bd38369fa7ee7e8443afe5dd72f64551e033b21cb62b6331b2be7d1012908bc5c7d8f3878f4bc2bf3d6d4a87a623ab3ec3d49a1cab089934f0781aaa81c16034daf939452c9205f8f1ed3c74b01f67ec30fc684fd1af9cbc970df1a69ed4bbeab42400eafdc413451c0d8420086ba4cab82812f6024e3ae0c73b98d8cec4995686423bbd782c6a412d1d2d36518fddc81408a4913aa16afe15892cabe79d91f64b69805e8617bd02bd8f31f78fd32612b2dfe05956e117204069aec7a17e474551acfbe025b502bb40cafbbbc084c244438220d20f94c664705e0816810a0ca96bac5fc5122068db674ade061608351ff19099e5a124b87328fc2c29b06938826d6de69e16a9eefa32b4eee3e07b7e3f75a7149e93c7af462f60fc1013fcdfadba91103d1f680d30397e42a00cda50c887bdbacb1541f223b08d4f2bf8a655f7db8c1d25dfacc1835e98530b922d8ff478c4a58e013cc3275bcc3d74315e496cc682f8673ed5410871ffcbad235dd705b866277537fb4fefbc8b2d7b37a9e80d47eeb6b63dc36ce07c6cc6e4d8aad3b1554423c5a5450d8a0e9f2ae8c36c3c8967a2ffeadb96ce0ceb21206fa21103b0982c9cc455e8e48243568d51c685dd36d418caca4919d1fb87bfca04d81458a869ab6f043c6a45ab98219512c10151c4b444df0c80d3c3f35ad86dd813ee2ec1ecccbedc3d6a9e2832efff640ed51b567712ab249ec912918119831760941ba0270f238cfba62905c776d28aa8381dec3dbd1c807f222ee87178db0e6376be267add2e780a5ce450640b45fd8092f76ef53ef6f1268f25cae8e197b4a9ddcc3a3e5f9bdf4060ce96838bd2665d1f267317ee24dde13c37c4f1c61c8ffc957f1dc00be9073068c09bbfff8d24ab79d66cba1b3d6384a241cc1c2cbaba504b5b2b976b347e9d925df2cd4e679b5015a2155b189d427f25dd41b45ddbadd4149a7668ba86e48c668e5de591503b4d7b263a6c2d06c46ab60b69112f62b58d4237f282391c5147f6ba246609e3582acee3b230bb5be5d2c7a08fe523915df8046a1d2380a5f043237fd681eced3b1cf01bb1aa28a9c3963fdbe6bbc9a77a20da9c66d2d1218f293c05801ae0886387a46b85bfbb402c3b8c6ca3cff9b9db01e497ff5d197325108551181826bb6ca4de97c1cf61c57d2e22625da17fe1292961490c998d0bf7fedcdf27dc7f36bf0b0069c5bba9cdfdab7f4c683ffdf4f2d7e1a1fac3187beb1aa60c707a1e4f96bbfafade4b6623aa507d03e19d28af941682834cc4648e1c94e4d8450663e2c53e6c74d31193a8d6d33cdaa04b0dc0376799ce0858b2ea81b96b9ab4b876f072756a1c99a36e5921c0e6a4e6cb21d5096420121ee4af98bd149c67c78ff87adf8d6bbd2f4749db18c1e4bd490289144586c70d94e3b472bcb03a41b7ec4d9c43271ced967335f13d21f51e265cf4e76f52ec064d9e1636accd42bd7273cccd22abca613eef121f13c07bd89fe14118b358fb32c9892f58bca28c4457a041e4f9a53da909ecde29eba43148371a1b99b0af8a39bbf255d3778ead2cfa07d93bcef141a02faedc1108687b92584e03d6e26d5b413c08abe0e463854efe31ecccc536794bb02217dbf50e68f11310f7c87e73ed213f843af31d6630b83ded0211b18f60a5069425e24cb3d6bfd824b6f7195dab980480c8924cb8f9a624b54de7115007e72843d9b69726572006133c8e7164cda4979b6dd9de808130a980677189a5e09a77716ca39864199519a322c22fda2f48a5c5afcde39ded5ce2134bf3f37010f164584eca7c0c0f8463a92f9db5d5c8a95419e5d412ec19403bae2e46c35feac46f6da44492128e02171ae23a4d97aa116a495e61a6400d84c70353e2ad2c0591cf56577bc005150d6d34cc35f1b94526962554002e65d5f7127d2cb165366ecafede7c6fb760f3d72f13ff5a2e8effd40f2c7b59b75e14824b4e04250553a5dbb041ae57d25d05096e433db074992447b1b63a0c9ef1c6cce8e749fdb035d3109c12c5efc7bb607165f357def5608f0f67be68755aebedad4b7e40f82f278a5ce0eba1748d0930014e09ce98da967862b7a4a635e6d35b521bb722ec524752d2f69daf60858c938647a56ea93f85f30915fc5148997b3c904e686bf0425fb91e12c906b3cf6d9a174fd12807db5d03d8de338bf55abb9174583cbbecb007d5eca17f2f5448fa1a7d1c9010394ca5096e73d4067250f9130dc701e663e917e82867cda9349469e461735c54099c5a3a5481ae8fb4fb2e9bc872478e74e32402f34b595a6b646ad34c6e2d5aed80c5a674994aa502ea1d48857bf1a1931ded3130ebefc7094cd932849f7a3c85832af981ba56ffdb92eb27d9ca8a72e51ffa2ff21d22e8a4ce80aca47e29332f66307c87bc1cc6038dd33f81670d550e57dc6cfce1bb9eba1b13306212e526aa6093c09192964333535f232bed931750f26190553b1c9ca037d7f46a2e456fe3463f9da38a00fad305ef637a701bd5e1e571d186f3155e9a1b6018513332116ed9d40ac0c1703a9a80be82128a7da85b90f2e4060427e5211c93ec5df161008bd980f4bb8bca75f1a26be1e709d3a424dd9021187c31ea465236769fe4b3d7ead03469d570c255eb39d442456959b8d2373dc77124bc8025c0a444295a067ed83292627598ff759bf2e673e9f3873847c8ba1ebab1d77ac2547b78ee253ba7af04d74120de4726eead7f0220dec7f4d0bbd1592fe7cdbe8707fac77893033f111cfc8df2a1de9a24781892b3844ea64830fe1275feac0ce4ff2c1f6a5d1cf36faf7a95cffbd7e1ecae60a7cdf92b32389f4868d67abaa4eda64c63d57cf45f9c2ae7ac6c03ff24d00fa629427857bf6a61ec187426c9efd0aa2d30d5af814f05a5c823f87be0834b83cad6ecb7eedd8e5d15f04bac84e5ff808d9f64c1c486676f37635f9cb4dcd2f8ec0397c528c3228227a0d98c3b42c5ecf4ff8d6a54d30be971f28115324483966386ed2505686fc71b458c66b32eb7f52e479ca90f67a526008f77379248b7006a251d10c325d0a6295838d224a561f7cbb0888d4ec16e341d5dafb06a6a987ae6a15e6f4d9a7252fa9cafbde4233afda2a9d8806c189c1b13a46b620e97532428fafb8cabf47f56757f12e9e17e9ee3203dfc0aa649d5b2b4dcf9ed1e98bf5d2ffef1be36a303d8670c9ca08c1f1c4116a73ce3438b849c4d35fc4ec68c1e283b90652ecf4903808612927e44cf26ba7f9cc647573f3c066029d8baf06d5dfa7818768f6fed229c44f36e768cff4f6ec52d3504b409355b8f7da4990c6d9f1332afd3c7a8017a8284c9d2cb964365630a76d4a14222e514955ef55b0e8dd23d6d705e20d16bd77c0f6d7fd725d30c1f91ef6a2512f9433c69754db12d970e1fadd579ab22f45c662a7ba67f6a36f04fcf8157e817341d87e434e4edd3454bd470e196e97348405380b0e462c8c4c2103acaca1338650f6134c44a8e1d688f939ae5603d8076a7123d99bcb2c7f94d41c5e82cf09da7e79de85c78cd7e0871cf8cd667b11354425e74915cd78b5110014ce38bb595545236b3a226d66a0e083b403a2e73eb4c84324fc27b6115eedd799bbc77fba6f8d1303cabdcf9c50f35aca0422984110276a14fbdab7617268f4c53fe1cf959c5160e35d45800d941c5e5a542c0262356a92afca5b744d46711a572e170ede74c14f7a8a43d9fa2737ae332afc98c536968a782cbe0c4260c2572f9f14db1dc1864f4fe5c33ab77e86296ac704a6ad8904ce73c6a2ee7e510fd7c0dcbbf8253aef19338907c280c6a817d893d82a72c99e3feda067c3646880758a82cffb5fcbf9fd9640d424db4f3efdce9e25e031a5453cc49adb67b4c5da8e33f8c3238359144432502490bda5d2618c0c8ef2fdd85b8d34f6fe66a5ae590cd5613babf99e14af414a81c7b068550d9354b5099be5810df9324235dd2c1a931c29b7583c83eaefd288c766b09cce4aa01afb0683a9cccc79274b9ba0d38ee69f834c2aef1f3cf2bb636d073c80ef121f3dae68344076814cab2ae3d05aa48e835b7e42b3db0daeffe387856fe5a8a010d9bf7cc298a56b4555a46ee8063eb2b1e8ba3b376c163ddeadde69174f7221d19f882c3b8772dd47ffced2befd8d2d9478ccd4cf4a44483510f1f82f331bb0315970656a05e4688cfd07683be5c4ce2eb3530ef6f6916ee3cab3c6375c9cb5807307ffbbf66cb2d1b79a95bd50eb841517886dbf8e8b86b4f5bebb6b69e10cc85bd9e98aa6bb21b4f19f489580af32af5600815e27ce4f85b9ec5931049328bc6aa0766717a2791cb34ee53d386cc6f04a40650d57bf1329789d991b644fc94796d4d1d7380d1ae98aa82614b430196fc0d79849041dd5a3c1a6ccdf31205d06abdbf646174ffd6abfe7aaba9d4b0df71683be780e7ba62d493813557f54c338ab3d9e91b9c4dd5a641a89e9f04eaebab5ce4d1a4c738bebc855f7a1cffae1a1b5898b2a7041d894a94276ab9a6c1d217015bc06f5173396dc244f8c515b999c83c2955f77ff1d69479fe6053b416852c0855d4ef8eba1bb3f9ce0f16959528f5a3e5dc8e9cf5255b7c57fe4d9024d304f864f67036560b3b619b1edd2804f404c38a411982979eb5b50fb4301c8c3ee28b266b75b1101374dd688fcf832b132ed1fa8f66f7892e7eed610281a0a839e1bc97a9c6df7a5b2720e614897f2eb8ca86937aa7d51758930d06ed8d16f9906a1ac64f7e23fcdcd87e0a55c4272f2c4fd34bdaa878fdbdc5583a4831f99908426dce799d54b8237472528f2239704aee64af0682cb0ebd4dcdae08a7396272c3a5ab9baee553c45aac214eadbbcca2567d23c4ef22270d8267c531212c3768527c30f4d8f4ffcb35215094e1e6dbb0168b3a31c4b7b7069d3159c6c369226487e8f827ace6052c067952a9ab2867aa4089ebb10cf27b1b4ef919141b69908074009fa1443f79eb33ba93579857c333ba699fb2fb88f4016bfa647ed03ef31b1eaa4218a1119d014e96a9d80e24df225b1638323932665de7d5306aedb6ed8c205d205f11aaa94c7726f918a6009107560dacb9c6073d0360642d63d17172c579c005c7db19a6bac148e2cbc005d4b11b27b02adadc1ded830b882480eccc131a8998050879bbe78dabff300b26bdf249d2694819358a90638d0a721e8c757c5afc4d35d2103acbfb96206c922a96fb32090f0bcd3432d75bf2c5fc71bc9354cb3c35e5e518b795deb476e999b08e545a69d469cba006bcf10225bc17d1d9c4fafb3cb34c9d44ba31da386f3d510a250b71c59ede7128aa1ca49afed4a85fdf3b90e28f13270d12dd0e2a15bfd09fbd1ac145018d8f35ffa995c14cc895a6aa1b47bfc70da45e81728f4683bf4173b1f51a9654a1024a2fd0e15c92f4a86611381eeafb8641a9b3ab985ac802766dabbd2c65430a27365634631182dde91cd8a72e3e9306abed65b4dcabe98c6a5ded47c8f1665d86448b9a314124ab06fb3ff41f9989fe960c5e925da8354bb0c06372dadf819b053a531c275d6e5cbafb25f738b1dcfe8968e392e36fa9bedea201fe41fb29b54734474630e960181c1142afc826db2612184e053482f5b62da2f7c7fb56f90f6af0211fe2828386408a1912db7277836ba9bd4ee4a7ac91ef9938957a0d67fd1ad983679c1c4c1226beb5b479c048531645a696e7e1e48fa4c8e6e932f105dc7b2c5e6c3854b4c05e624443a58659141e6dce0d4b8dfcdde78836617d680b76fa927fbd0a2851b3d2ae2998dee7770b4475f360a88ea0cb6b6f4955da637e41f8f2b958d50187386ab3ae036eec4fb938fbd2c2ad8738e711cad9cea4b194f7ad991027f99a056281a261b5bbe141ccc121339be3301e7f98cbf6c6dc1c5585266b9bc3f699b3ab5e5bb02c7f290ec98c86d5c969c20f7dd5acda600ee51dfc723202ec8200521bc7d48a6fdc12c0d3dc4d9158ab8cf51f36701cf4003363d721c528c1d41f52b77d6bba0c448bd0c7224614cfc2190cde7f3b852c5d8a65ebbdae3139f67027e2c7bf242b2333e493705263bc9b4760e372a9b32a9a1160112a1756782200a611261f95401c483812ce0e5e62114d236023e60a362141f88d9b272dca22fdf317a9abc7bc16c1d2186d66f78570baf04e393a85cfa4b4e1887e574dbdebbd17a265648e19ebbcad81dd034ec290300ea5e46061fc6b2cda4b6c59872efb5a18c7b2937950c803460a4eac55cb83d2024bd0e0d4205ab43599e27229a52503956cddd5c975ba08b046f559271c9130cf06ae3e75ae944c4d5b361d92f94e9710ba366bdd82e3a5c722a06357047fbab8e069fb465de9aa467922aa2b9401741464b246ee922cfee08aca780d2979b2f072c301db07b1b1bef0573cf3ebb5aacd0adc60700e24da386803fa8f56398f710c63aa410aa7b887ee6479c755bd3bf28864a2a2e34ebe574e394efde468f894e13969ac9b049b6b1df15840a2c58119ca1c451a2d4ea417c7a4b154efb3c9945d8c2fc66cd455499db2da46840c4c7c7e80f37c85762b21369475b885da438f013b4000a53bca14c24e825f3a42eea64169ef6722b3f31966e762350c5dc388f7c0af5b537d5610bed2f9c1d7ae58296baece2a974b436b0977049338bac7cdf8da2e63c1503001da2627f2d046c4b3268addbc42cd3057b9b8399dcf393312a1ff0e1774ae774807ed52b54462ed4099c2a88435837a9302c14494a47e83c858b3ff7f99b7eb3eeab9490f9d2c2f1aca3bc409d2be60839474e67331abfbc71d6f1be4f13812e18eb3556132610fca2310d4e750046a84ebcc97e156747969f5746f444477c18b8ec07e9a14fc3f8bd848998e7afabdfefc44e9d49f79dfe104607dc269b331b50c00b88ee32cca28ce70cbb0fbb56e140faeaf836b3667b6dc171883f23a98a23dedfffc09da6c568e4d8e58b86a01a7081ee063e9627decc68b0183263c63bbc74dab904b3657de29e0bb301756b9779c24663b43c98211d2bd564e7bb43cca5afd49708292c221cfb987fcfd9b0862c665b902d00c9f46188a9f308262ce2e5295d02d78e2189c3f6cedd76d30fdf0f5a6536be021fe53621ad1c8e2417c48b8a41fb476d81f599f2e9c427ddf5ba19fb15e58d25ce580375460a4910ccca3179b6755895c7bda8cb770256b196a86cc2ccbb73865f99548305bbf6a086d0f7f9303bb20a6c89cbbe78a4ccf837a7f80ef74853cb65213cc5accd089de1cd16f8ba0bbd136f4714acae60f0e8fc7f724c878a82093c5a77046ba1c031d5563f30b7f07b85b6b85a6a4aabb7fa23a02f990b10185cdada95c5ea0a78605557fdd1c29108b05b2b9c7170b8fd59b7df760ac2dfc5181212ea71c2bcc10ce7e48990beb6427f60303b05bae45b9b6c24ccbe1d4253d9e991eb822653abcae3c022273256624f6a745f88cf44a33a49b68a09ce6156142c4d3e76bb2029a2cf8df87ee63b4b1572f524491ea50210e103c5b67d18b654e19101bbc75fbc7d6f483f708846711882482a0b5a976ec0a56f72e53b3764faf5a8746629977ee1c42bfde1bb38e50f697de600af1371e26b0bd1ea6004519c4c333ebc3af0af8e4e032defdc16ccd7b632e002eefa010c197c1d7c809da5b39b35ed19a43d17ada72836df24fda725832af34b4b156c0ac7fa588ff1f2b62f8440dd7f015e13d81613aa4b67a345a2a0afde993e53ea35acc67ae554575e866018a80756a72980b881e4b8542f73087aec3bfed36b682375615bb9c37bfeafe5ee9d94348afee20f5f978553129dab1ed5d604aa6321143abf569ce90d3435c4d57668da95e2df69a88810740a879656e3ce327798c5a3535e9ec79f143a79ea63db0d3001380e16f6dad83376595ce359a9e2c2015aad6806757ce4922952537648cf0e8760826063fe8b30ec35329f14ecd8ceff6ecc898fc2f887f1dd5c9d4a57e2b10f5e4041bdc222885c1a1a20391a4d6369cf53346f3bd2eca758d843a72f56c9e95a8c065574b82130779a16814b19d12a981e9f46513911d060e470253203b65b081cd1bd32f51b7fdb9e7ff1867d406cff33706bfa052cd0d3c05bc51480b6c1e8b99f1574fab041059d713cec3bd213589920d53eb8c01d0d4d6165adcbea185398386f7f3b993dd34d90f3872eb1f4223afb29d6fd972e1e25adf7c1f4e48d9e1a808c5046fa4ee9a7dd7f697299085b18bfa8c6b082d4f2040f2bcbc5878cb9ea4ebc8b5e22500c8e35926a7c8ee7405dc0f7fcff01661ad67d5201f68532260de0c5c6cef23b29e7d3334891f3b7fa6d4e9ce1105c50e5025cf88d4506e3af95000c267793d15189ef5a8aa04a78c4bdf04253ba3aaafcc98e1f0bda11bb8f14d36482cf8cad1350aeb209bce5d2f8d3553071c23b0183d6e02ee90e6af5f1924c2ac23f7faf10b0c1b6e10be46f9d48e12765e0f7ae3f4b3568556dc884fca1ac4976b6a33431d3040b4308d6b50f26f429840a974ceb2b3dcb086bf2744e293600c4be1a6de6a028954ad636cbfbc8f8f3589cfcc653b431eda8c92d86927b9e2258d0046cd0ad583d724c7432e78cb1d93a07c22b68c5002f79401b87624f4745aab73263bc6e98a335c5cc539fec30e48ae9541a31ea6676e974ca7f641f9c8c7e1a38e28ccbe0994fad16c5f98ae9f625f196f0675b5e3fb406f4fbd5b8dea2df0971c68a451211cba85ff329bf0a03a5c1eafd51f1429e4ac4e8f59b186ab84c62807e163c2d30328f3a42c71088c3305df757e342258ba52b502c3a424da7f6428bbecbbd78264efdf9c644dec4c8c21ee13b5ebc4e4f729e080a020a273f23362ca80b699e79930e35eca65007fc7c940bd566bada031877745b1134617056808121d34e9a4978067ac88dfc110cc6c807ebe1b70f17497e486e19e73978da361a31f4b0295eabf23721b174150d8155620dc3c4a1ee574a2a8823f114a36794b974dd42c0fabeda2ac697a80ddc4d3e77ac35282f9618e733876281a01b5ac3e070e68366a3b138c31b12f0670f9eb271b9a50cc54d52896714135d8024fe9263454e474e6565709f948da54dd2dcb18616a4c76f724bd1037ef01fa29b97b33a563aa0f3dcc3cda244754c7f9e0cb963b4e27078521555aa285a19c418eb430645976999b364baef956785ee3fa3f9ed141c0dc67d1b70a46992c822e6cea59ee49a2db1c3ac1ed1169319cfdeb3e885f5df36e990b508b50ca99a932ac8beb99780f345e1b3e236468affb1b5052191822085ad5c1a985287bf59a057fbe7edb6bd3d513db3c6f8850542f630b71b94bb00c3fac11cc26336dd68d66fda71f0573bd2bb143d5d025de3eba5cb3d3f8acfb3aae47014eadc8223a34484e6913043b5e4c526cd1b1b35c65485ae324d73ac0beac70e899a19a7e22214811bdb303163ef09364a2f29407419c173c37ee3868afa22ce73e3dd606178f6c48b781a3d40f45bd0ab78b166d7dc5408adc9a84f088e927a35dec58d42586e139946fdb29b8028ac3938aa62839f6e95dd14def1b12d6870ebf4d1fa0d1a24c634d86f288d6319ae6975d2890519f373797f0336a37d99373bdff1882e0873d6e50e8fa8c68f5beda08fb021ca0edf10c21abc4c5c2b6238af7b132b73dde34914b9127a53254818cc3b435d075db7daf6160a68224ebb3c1306263f9604ccb1a9724c3f683c903793eb3efa5227da858c848dba1028fc886ee0e60c8b192f4e396706f6070771b6f3e6ffbb3e13a73dd301305527a512acf36b9ae4a2ef3acaed168c0ea7fe72ee545beead4ffa94a168a3b4049a3e1f2be9078be34202812ddc126093b82dd28b8989d908855d29b4c494feb7dd9635f5fdde19eb29eb5516b08da08e6f3f09d0bfef012f7f3a4239f6ba6094fc288f6664f41c9e808cf6a42a9742d95ef8b96e36e1ae5120a83db981800b46bbb20b1548bf926992682ee40acbe489e493935ba0a00c3bbcff6c96d14db2570afec40bd568c69c1888e0aca3f6a8cfc4985a2cb9641d0131cc5ebcf1f10d36e0dc4b71527ec5cd4f2c23c39698463e09c39d63f5eff4c6a412f378f35dd7cb0c613c1174f4165bf06ca9c6e03721d5dd7df412edfcc1e008df5ca4be5990f2ccb9bac86249a77d099c1cc20c379548d3c5ce37e3d78e21af0ad29f209413dca11f31282f8a7e028bc36b1c1f5f3645ab3fb529d111a6c660996f143ac54cffdaf98b005b0a731d03d2721455d06a8c96f16b46c43be86a1ffced4d3c8dfa2e3b31bc33a44701bb975efd429351b24fe184c053a283087f95fdc3e2702a150d578ec3c83c3283b870ef37763b8323cf0e3c5bb10c4c9f72b56d9a6ac94577c85d8738769b390cf4255327b8771118f7f67dfac859052140b4a19d070d7d4e1ee45264d47f8986dcb0f4db5d71b83814f746ec6ae8837597ee6d82d2802129b3478809b3f0278216745c39dda4a1f8fc70c5bb730f88743e7836fc3cbd422a251289bc2a5dab101607d6196eb4da562ad9cfc7ab8013c2ea22c6e760c94ff59fd789aeec1ee71ab30d4ceb4ab9f8537a136ec6f6e0015392fb62c5642030b6f58022189cb81a75a7c55d67234c74512fa2f318de1d320332ad39d7af667caf29960c6539ce93d1fad43c34c711b447691c2c50ae25f9ab1a49adc499a6192a442cd3c7e9aef0fe3b3ea1f13002ba191f61cb26c68f04cc06db5aebe245a9fddc3e76574b178a7165eac66fd1501beab43da284d112c7b08d2471a0af614cf416761742137c450ff807dda459418d3631b72a6c4310e09fc38672470c504c6bf9ee9d4fd568b01b7608579b7de219ecda9cc4c5e9623d3cc69899f4cac7893ad079c6213c397c2bf93a7d1f77eda780f6f31fc1905a5cc9319613b311f4d38f1c2802092ed40aa23792f71d5bdfceb5b3565cf954f91f1b00e4ed278262f1ef5e0fa684c34738c203b48417103d68ec4659c12ed0a6f02188d83e7aa1610d12b25c93ba8e900dafdf85f98d6951760d5f020be551eda6945600fccf9a1819602b4f620942a7292136b71ffa01af805bbe259b7f9ac2a5349e1ab1de7826d879806bedee63c94381bac3868f2eae7cc3cadfdad2b838ca25794c0feaafe59795c4f0e57669b82cd19cda59bf79797e9fcb0629ddc4ffefdf627e24805f417b29d285ca50e616e11dbae3d9c4ecb2917df7592b8d694fbb5d67c2a541bee6e7e2172796b612436e3232be41d9c2cd9148be459f05bdfcaf400f881a2ca11fd7c259e715cef52d4cf26da8e6a289b526338221216b33167295aac13c8c484814497becfd31da891707dba3290ef1932a2a7da930fd64f4dcedeceae4275cf4c24a18e82ec63d014e185058674945e36c1d5073c2b13862dbfbdae163bae2b568677626a8d5094cec7a7274bb01b1dea8f74de95e2e25560a0d09ff1cf9d4c01eecc1793dab9355f95f270cf6f74dc23f6fea20a882a96d7ee2e8505f2e276c4baaeb3ac6278f28fc8334b9a90576c54466d6f5a1977d5b40cc37e0276599ffa636bb24af3b020990819d07f057e0d955b9e5474186cd238f768105e2bacbd40ebba2d4ef1ce9a4289b24702360717b65a446eb60be125349644064ef30035b748806dbf59f59afe605026d852c2f65f11695104a4593cc04a2745ca59bbe5bbdbd6c1f222d334072c366ab2d6f67d251959bcef2fa98afa5872055d1e67e377260e209dd56597e77981ce25c42a1aaa118ae77949c5c33bd94c63e1cbdf9d53494c25d59947a265c27c53107d3c213ea39aa0c9fc9c047302b8d743f56371bbd9f29d8eb6d80749f5548d1fbb3374bb440c95a5683809f109a489014f1e50082984e1ad92c19eeb52144af706624401721670e7ff8bb81b47f81a9d29a8203e00f322c53c1864644da80ca83f7279c3df3f7c55fe6bf10646be9e2320d826d17dd14607db5c6656ebc2d2d60affe52dc4f493c3fd73f0778061134ae7718bf58465f8a4925989cd12ae3a1db2a0b6ba67fc62071c8d4f7772c48832b779c3675eb0db411781b22b86eb5a2045e36b28ee4194a7aa6f510e474661c9b3321fac0c2439793122e2e678f4891f68d161d7f07a06ac008254c14260c71cf609867862799b184240b2e116ca3e2a2a5b2aedc837b504b7dce01bb8dea5972cf830a84a370cf66af8b4da4f8e8dbe5dbcb5b7f7a0911a25ebb05c95418b279c4326dd593e69e0b25bee7b0ca3038fa08112fae00d8d3e877427e9eb7f79f8f9bbef8306314a3ade6ce22d1630b470319753ab42ff3151d9ac07ec0e575e958f944bb0d5de283ccf65f073be56cd32b23ca2ff0969edc9db73f208e8dd09a88aac8ed31d18db2a7edfe498e929dd23bb48d2880b8fb71149d8c9542ddd410c85912a9a4d3f41be92c0cca07a9ba7c7ed9efe729dd57eb8e740a652c17d5aea61ac5b197b04af7f47aa54d085c033e061f08c1e87518f270f7f3054f47e92c4b28d6b3159dc3b04a3bcf50d6aea6314bf8cab7086de14ed49e1bb3afb401bf33854e44616fc696a1c08eff6674bb1fc6b2d79a3cc3befa6f6402da86bd872b1ed7f780e77cc2fa439c2d9fe7ff1ba314c87538b5a24bdbc4b769133e1d01ad4d461308af1bdae27384b2a97d65af6ade638432c3c6d87b141be03190dcc58ca28243eae87f1c37f9ddd1a3950067422fb159119d0cffff5ac9394f1fd2f3a2209eb02456f6321d8e73eab27e4034ae7819221014daea011d5dcc2ec38fe0a9bc63a45dd33908678a44245d8dfa4e3dd2d312e1a6f5b493dfcee642c0f7ba6e8ae1d5550e653ffbd7518e3037e5adf81cf152319c077bd1b556e3d991d5471c2e2bc3511761afcb1499b8531c80f2071c8eef189dfd631ef3351750c384c43fe2002fd1c8995b3247b78b6c4bf710a7166882bf3b5af9307ab4e2e7e515ab70e96fdcfa561d4f9d9bcbb7e51c0d766f1ab6d9c11ad9e3f97d55b608f804e92f3dd50facec5cd3f647e75fd17cf101d70d40b7ce25e77a1b8004c93d37a114d4dacace976060923a247b1d86e0d94b8b92b85bd71ecf605235f040bed668190119aa60f5da981a05bfe47db574d27ab779d74f1d0e04e5ec6a7b6c5fd45c571ae64f87988f05709126cc43c6556c8a5b5616a6469ee417a05e949f4ee015cc2e99d7cd5aa19ad2daa63c0e720e3149b42fdde00dd9639f5a69ffb6ae99ff795355950cb56885865481ec5ee88da42fea6d6b6db459e8291e288e587266a4f635f14a293d3a5cf00541076f789b1d91f6e34a8a0cf1d1eab6a3e58c28cc4761ff230942614e96a2a025a819c1dce555acb38cf126b15a6b97ee455cecae3f15b18fb66b479d9688d65aa3358a4526d9e5e976462f2cd942c15e41abd6e55aeff1dc5a87133a9bd662ae42fc202756542d2d9c58ea959c44233d907e29fc918dec8d37ed4636b1dca6a3e172d431be592c50244dd3d05d15f45087a9cf888f8abbfce66deb7893978303e1e07e32b3118c252ef0c8e3b8087c80cd9ef7ecbaffef65fcda449085dbdd680af99e4a2bb52d76d79c2b1038e68ebb2d5f5bd6daa0652916e55b1866996328026d2ef09bcd4a9216d370c3fac8f1035396c5d5a3eb6d5dfe79eb0da34e4adcb35fceea9e4642aa63023131485d199004599e30cae96a51ce70b4d71cfe3c346f8815c1e97b7d0330f09dbd5b6a42bdb05a77b0f32b80b0650288f4fbc921ed907bbbfecc9a272793ad9a9ba239a7124f23b66d377b27972b973d41830250bdf0d6583756974cefeb6950702f233355143d1ae36e16d62ad6e190123930981fb2f0fb7f62dfd47be85830be2208575b550884fe58efcb455a7cd773359a041bdc8f4082deaa1db5b6295f737fdcf43d4c4b6c0b5fc94dbf7013b0c3661a46cb6b34391075e20de7d7116670808669bd29f01be8d1071e4ff9bfaf3f89f934f79d0ed4bb3aca4bdebd6fe1bba60e1ed6dead1f3eccd0a6e1e673a48f85ef82b101120a519a11afd13449ded01ee0f5baaaeb2bec89f24a2be99b8f9fdcd7d3810f2c20832f214b2fefe0cf64935e8a6fe2ddbbbea8eac107304789b9041614d64bb44bcfa0f1e02f1e56a85bb5a20286d2f18f0a8255bedfe615ba2217e6eda831de6a839d1836894eca89b6c016b59dfc97242a8069dc75e38b579fdfa801e204583f0bdbc45def2165d5709a0dd8a3ae4ec161a1c907ccdec6cef3ad0515f537d23e546610f173c64c6eeea0db05fef559da9cb9a14725c1ab50c9b4c2f5af03c57daf3ad68d696eda3828200991d1d1b950fc6468ac09cbca80a3e4c2ca302657decde8fd1a4f53fb30289653b74b1542033dca5e56b950192999a290e61772da7b72d8166a96a8f9ba29e06356865b857146af2de231b454631e64ab26b5c26f578cdb80601578a6cca6243176ae9c0db8ba06f86c9eef246fb409b1176c84fb6d34df1a1d639de8c8a1ebe1518abdf7b248a378aa397f599d458fcf52f795b0cb4e696eba5ea176e1e5fcd86b5f909fb16db395c89c434600943ef3aab7946a3fefa53095960970d1517cc809c1412e6083cbcb7354bc15c1fc750a4de76e9f2eeadf3c631b31103a18b8450553e1e763b65da6a52a96e48ba03538d53ff41535cec78029a2288fd639405bdd628d3b3570e274f9696f9035f8584d6bba82c5d1d7b68af17f0dfc770f634da4501f72f280ed0da2b303f4731778472b7535a0be870e4b9075f12fb8301ba9cdfcbe73e2575b9d9a20d8a2d3374829d1c30f33bea8e8197052c0fa505ce9ddc815942502e9233186e615381eea8d0e5acf984238b1624503c532296caf37aff04d52b17b3ed1127e7272592d48dbe7f2cd5cf8329b4808c472e2298a84c697b941d7026f6fc34dc471da8f32e12ca6367388a70ad5906dfcc28163b96eb51a4a3536ee7179be68edc8a0eca01db6dbf619a918e0f5b9fe9ee92683ab47304a9cd6e782ba8ba036043690ce1c0b1b243a750a6bfabcf616dcb126bde6a98a36a85451a5bf96f4d2883f78114b9e1991ef990af5fe26b01ee4d03810ce75dae3c7450c583dc1c29f91b97f0a8621d3d8a96b8bca761af6b562e819c0646f99304bdd593a07ef1fd9493f19ec7949ffba10998a74a5efbfc0f7c1733696ac919d36223cc0591400bdad1cd35d5068d92ab6afa17516742c339e02f0f7d57fdddb11af776d8d1186a98fbbc9fa78f0d5137efd970496c1e3b3fd8db9d7aa33c6b42f017322fae09507c987aff081d681419ca250ca1e4c2d000538de079785709645f3394f9d31fa9b744235055a1668c70e043ad753d27f3120bc365dc9ec10500e5bdc1c1152de930ebbf530b4fbf93e2cb173d28ae0bca8a9f99fd45f17b138652f652ea738765b51f68cec2bf5e164bfd8cb70376f5688406581bff03abc404016cbc32c0a720a7d129dd34a75fca7417ab005a5df7aa0e04008b14189da3ccffdaaf9315706f1189250dc66a6c2ab99a5bce663a4f5a3c6aad8024a3ceb9369f7d53d4712e8a7b9319dc8f867d9bb25a4b879309bfc5f2fd84c5d32f5f81d66e87601f813c3941935147021eb57c18392640b6b096528107798fab01cfb5f0e087aeb914ec15cc803e852de3a8bd3d5c63c0f254d29d4eb9d5785d073fe515455c57c9b67306ae0e925d5e430fe2bd94a197c18c3dc61767bd9d25cae4be760c2d72253f7f6b44763b9fbf1f6e6559ead0fb9496e1d92e79fa631f8b14840ce1aeab8985cceb975427e77db16e4b8a975d05de0b9b472b5449b3810c86cfcb5717198b8c7ec39435d5b101f3256a13ed1132850ddec1fae7630d88471322a36cd2078dd7a1c2df15fb2226e305d3ffbd073e0ad9d837d2f6eb05e96e0e7073b6781deea3ab721dcef5d7bb412a059849c6a27eed791d6a9c1b1defcdb7dd2101be6d25fa0ed287bbdfcbf16bdc4f4d6033250841e06c6132b86907f79fcfa74d8651d4e113aa7285dd1993305bdb30b80343310fb2ca5accbd82e85fd85a5bd38530aabc7debf251443f387b59bf7c6f74bbc784e51d2bf4e91a97aa6f7da2ce47ae891ac81eb6400167704e12bda52498b56044ba3df0e5da4171d9284c29786a9d43b0c7303e0499db39d9939bcd539995ba5096edf6dffffd52dd9631a91a482ee6f52fdd96f9cfed25de1361112fd92781eb36c7b32d6914a12ed560b4c6904e12a8da578c5d078cdd6eebf7c45ef0f89d06323d8d257ae8c1fea9cf293d12b1b276e63bcbc2b60ce87fb46ab339e6d00ac33e6359699fc10448472a9472a8475f146e613c9fdd26378da33699693e399bd5021496018971a5db74e43adf3eb44b6fb3a587b73adae0f24e91230372ed2a14cc02c9c5bd6b47abb83518ce7e7bc15f494809f2ce0ee70e00d03923fff2b3ded4dadb8d2129bed65104616062696d0df15d735d35a751ef0e6823530484dd249f53da80720f92a1ad9ae7a02dc0240dc6a6203b5f4e6ff895f2af50bec029e6a5727c45c1557bbbe2e79f87dc03c3f8204c4ad27b765402c1866b77938e8026994a5c3c6a9eb602fb4280233cb5a03f4f714afd191746128bcd3d757a44b666505b90fab4c1f92aa92903c48001aef7d88e623190c45ce571663e2b4553c6c0ff83a3abbb352322ce31be50ad86cae15865cf58e8aa9eb409195b02fa898060d2f7562f9db5fc6e0e731069c750071caf201e6c746d60e38737e2ddad47a7e29b06b547b5a8558a1c9c518290808cae8d259916e6837928f3472200b5cbce2364619782e509051356c8772b5a7eb74b52b47a09e8b7c3f940544423f2db76282836031bb12d562ebadd0d7f50477e76c3490274a1046d86931611183f788554adc4d73e7e0960e70ac071ecd020fc26d867f70665217d710646bcdf8e0c148d2a3fe4caf08d56c032a6141f72e486cbede1721466e735131e817348d21d97cb98cf3a791a6befe03e2ebb26dd56ce36403b1e3989e040531b97471128d3f5e3141db755486eb4c2a26d3e14ea878995d5e9bfe6974078e0fb1fb682b1acdf1dd3a41f6a5192e22b9f5ba1632ff081afb78c20a04b8f7476db45377fa9079453a2c235726641ccbd5b59cf54f317a5ff25c54952b39d70cc76e9f73f597401004934e8bde1a0cebf60916a48b9195e2f159d716efbd76ff500e2f0a05c805ece7b5d0e34655af73676b361bd3f3a1450d9cae29b01ff140664ffd3d937002e6c2d3cfcd78f89bb96269a519e28dbea5640e28c8b2b104135c36202f706f5c49e35e29241ea49fb1a5dafece580add3fa34f16432fedffb3f6c3f04f42442d1baf1728f1beeef13e3538a332882f482a540a689d71903c4b952684e8f49cf578b2517e1e0931019ba619635958c43667cf3ad25d0d64c37fe79f4102188d987ff72c637f5d7e5c6e51c2d8692fc1b421214897be05d652ff452da7a68d76815a01f3c31848213eedd753bcdf60c0af4533e5cd3ac7f53d704abdeb35dc98bb0a1a13b8562d2b36b6c74d2f1648d381d6a631a0a23ca8adf678dde809d277ceebb5adfd7acf8f6143cfa940d0cc4a4524aa72046f3ecb082ffcfcb047e5892cf1fe610d2ff3e5ebb510aa71864d7b034721ec33ac606ecb2bffcaec5224abeee58b5994adc9a4275a9b809afe4ecabfd7ccda457977c5beba803fdcf47ac25c0e225725631e694a128038c179b2d817182753d00ba81726f2b9165296acac08c7ffb91de034807fede4b1f66152b8683adc6a7ceda1dc90606facc2b6b46d9f77de33e669a7e867c45613f1c341db45d1e086ebb5cc1a36cd1c28136084f271dada2a62c849fb870a2660a276bb78f5a845ed46855bd61cb3b86eef9f99b5baba6dc2b1afd1b5ad6fcd4999e80de3f8f7aa8e7b038f502ce10d9a725ac079dd66c73645edba975567e7ba85a1d29addc0623b7909358114f9a6ef96fbf9083e52ae45b431d5bedc6d6a0cc84e3846f1406af2d1547d8df10551a4bd417ef52096dd85a3dcee0cb0d7331e31fba1a9e7b8eedbdc15d6d0e55d12a34b6c02b6d92124638bbc1c7526657149bd1037bc7928431857348e963aa0da333708e93d77368e4e185f28bbc42ae3e9cac02b82c8117f98e06c30c681e27d212052ea7ddb8b0baf483b535ef9cc118c500f10ceb39aff0f76cc57ca9a6daa0ab762c60cf84375da24a8ab868c8c2c926855a23aeadf1c4a244060e50af4ae2baf8ecb38f0eef8bd45c3f4c37325d4bf02305e6b8c0f7b91be86e9d5ba09bbe0cccc6739bbd3608a7df2eb9852d54b7a4fc48d53c8eca5fd5cd32ddf76f858930c9391ba3f3ae3eaf4ea465e3395f681375ee30c2d098c7241f4f83c44c4162756f6820987da3038e674c5431ea0e3bd7c95afe855e55f59e0c9db55c45d4195696120e54d71a9a7228f9fe643779818f813e74e900d798acd8906b9795c4cec5bad88af4e67b56bda15d1418473cfc402e5d59860c1abfeda72aa574771eab1f442cbb4fb41b9f0fe6cefa2b4ac649fb5445a83fc0fa7e1030fe36476660b050e77026524376e9435087efc88f74b9ec4d04511c4441dd2b10d0a18f669fe35c743843c758874c51974453f84d92c6fd7f172b147d7ed632c0971635a8b1968d327a7aba1e59795d53d6a3bfa2e009ba0052e823fb821df049fc5f40ebd5922d03fc04132a30b03cbb5b80565891e8e080a3866c772ce24fb7e2d188672328a648141542c5376b72af8e1258391e40d3e4e009ef159066e5096f9a19caee54a75905805f2e372dbf922a11ab44d559fccd254d9f14cb42b577b98c29f4a8bd299bb7af787de99c03a8356c7cd01c0244cbe915c6d3508ced7591b36009832bdd2cc6cfa072d905b03ba7d07562c1b49d8d5c6ef058983291cfdd0e6bfc76366abdba6625109806e5daeca8a4c82643a3cddbce4af1a560d2196b42c30d953528517734937e332b8514c7a9f0a5d7516c218fff3af468bd539c7025279319616fe8a7e682f4fcd0f6ed3b27695db98cc63705c265c160845a72062afafb4f72a7e59944abdc543ac3c86b88e3534a188bc5f1bd84e1dbef86eeee4cd1e2a40ce92b7c556e98249ca7a318e718283a9a448d5e523fc0ebbbdadd8124784eb34ee9a9eaa4427a58423def9416d8d04afce1ec2d001d0b6c707b33048b17150b24ff05d4b3349b556e4ecfcf92cde8627383ee3668ab619fa9d8ca8401c80457495f5df421498adc1dfdf4c29ee466b3ed3d9c66daf1e74a6bf21a29d1966d66e83d3abe81058c87a2ce535487125cc1d0d0775791bb025de389f069f25bdec84de5c7b9e48deaeb20b56c6e602f777fe7acb97aeaa1482ae533e37f94c3428bcf7033926e269aabdc8f5aee3f46c30a3eec9cd49e80c7c44947e525b60de812bb977cf8b66a8e0f44b362fb3be5d863ba14aaee327b9bdd01ca3148579491dfe85d2433378e492c2a2e1dd8b9025572e43e97206b7ff7ac94c62e857b5688c78b4a632c569ede4f6f2b58496b5588c2802b4b58387a39a9bc15ac37b03a1e0f2ab55e4da8b7cd9c8c3270c05e23fa22c12600121a4e671b0b2a010e5549da134d3c5172366da20aa78617079584d5f754b9ae49f20f20665f62d423d5116df58068f7d78969985c9b09459e96377d333ea85f538893066b8a6712d70fd9f6b2bfba655307fcfc33327bf349dc6c8c97431741df093a01aea4cf77c929b3ba875f4081cf5708ac58435c426b3b214383458124d1ee1172f3650c602eeeb50cadb00654d059c0935c92b623eb9be5dd8c99fabb0873817ff2ef304522965bb84b2ea8fa635cf35ac80462a4df66e7741f2a7f0b2d21ca833daf19f932a7f4e41a832250c6ea2011f18445249a1ff059a180f10c9bf8b60ed5fb2766f00c229e660c6f7dde79e85c0357bba9fc3fed5295168239014bf7a6c4e41bcb3acdb75c3fb560727c92c0fc03bb9114365c07a0e55f961c2bba114dc6b8d88b7bcada7aa7ce8ec8c5dfdb3e611ba05a475e07362d7473190fb707ada63bab1d5fda5d27ae3e9a068747a32775f588aa5c62ad1b2814e3be3cec483abbdb4c5763d1e4b01d708255022c8c4dc38c0f512931348f5632d5db050a0681a7368e76a95b797a2f6038825db2833c39208301e63e958cae7fb8a70fb40e56850208cd6cb060357b07a8453620aade4ab83865a4746860918daaf020c841a4a204458b0457af8611af65ad49a35d23a5c5fa751c45271c02e3c8bd6b9a145b5ad74acb67c4e1a5044b0c8fb677dee874587518dcc888d6407c404dd478472f53362ae00d7395517b8ca5e98fd79af1271a5842fbb9eb1a2e6206f6f323b3fdb7ecbf8565618d7785212cb6747eca8ebe16ab6f772f0024eb5fd285ac226980a3461abeedef0461aac610b8fa6fe2e530c2fdac1daa26b19d49a2f16c9752a3446e0d7d48424b5368a1dbe680bbc7571d901f84e83b3d9b1b0007aad9f742acb55fc127c457cb8bd132d9ed9e56f447783ae79d504f80494f22addd01e2093fa0efc22cf5f21b400b28467de586da4640f512c25fd9d1baef75516adec6846a95db960bd9aee0e16e37d360f56d017d7c5e63908af7ec581b1f8c8ba751c3dcdbe07eb7e4d7bd1474ead43651bb3dd4f6e37c8b00432297de028f1b413c39d768986d84f9c36a3becf3f87aa354f19b3daaee2403728f962a5a14ea8ccf6ca607e70eb67fef8d15f73791768eb1301243b274684224b61db069eee2d51857bea36b5cbac27702afb1d01cdb3af268be089623e6b4c49526bed712f0a7a5cfe107af5e0d9cbc0041965f7f40804c3e1aca963070ffbb95970a9e7e5eaf94b970386596b5cbec6b0404dee0d78dcc2a9389fffdcc06f60e8f15608e15f33bf13a939c116e3735e762007346a377229ddc9a980fa8b5c476f07639ac5cee3e81dc0c4d5d7a5ef8fec0b89f26ee2140768e2d0c7197b2e1ba5ed9cc6ad709efa0485fe074541fd6fe58e7afda6c14ccf7c3a5ed39056da044c130818d4770f03228080325b06a356b408951c5ba84d4f79f61087e2cd4ac2db3650558bf08fcfaad4fae4c1de6a59796ce29187e7b70346c1662ed8fbb331766238c5949c23f0f164ccaa03bb1ee230e8290fdf2db4a76e6a37e5ba37dd1c100048891186913449b099ec1b6737c003120ced84c4d589f97c7bbb083259e772f8c8846a4e422e5746dedd6e9afde4ac550b8881d6f1fb48d9351e8384b56e7ca71c67aca8bb2b8c6a1bb7066eed4bb876bc42aff6cb69d25e9b540d79de1d4c3753ddf97c99026c3702ce610d050e98368bd26683ffa555bf8fad61a55987606d3173fcd6360656de5219d7139e6d66ed1be73306825b1e19127c7f20ccd54a75699cad715e2bfdcfe5708de086bcff90b8230bac9bf5f1188e466eaf7bcf5967bbe24733654341d70a9df9986f2f10f3005bb674cd8d536247e47649606f6ad343d854ea4d51da9d7914b548cdca7ec31440d923845e5e167b79c148c4671c48e543196abd504665cd9a9709ebd18ea9e4635c275c2586eb977bb3c2234e1219cf037fcc2f66e130be4630923bb3f793bf4bfbf488d912888b4aa0d2f59005169a032747cda4349b36ef3ecffa67f14658a7ca387a0f60cccfc2e6f1c98ec65fdfd1e5feb2ca8d25772f9e03d4d42c419ff79b3bca8dfa91a0b7aefb5a5b36014a9923a4686d5965696774d14accf50f6b9a9aa1326cbe432ae616085f9c7fc145c4531edf05fa814bf570ac2e85bb024924d4b3c24479c7f3172ed5bcadee1f8cc010da2f576168a34d45034838854ee2a326ab4f70a0bfa7aeb80952433c2d0eef4aa74397becdf8e6fde6acea19db40417abb0ab459d38174025d065a60262c19fdfaf3324c6ad23537fa15ecdfb0e17d58d4238b636323e9709a0545760b8066b2c90234b9d0b683879db28e0a5984c256c10ce3a27e0d1763cc9a0e324ebc68125a96e3c6952034b42551d30fbd188ffb4c07c651f5826f05d3c474c4063e16a04c41c3d29c3e4362522f48dde15ec438e88166333380ac46fe95153df541c60073009b33505faa49d0136581b5c527a31cccc063052b3fe54bf665a5fdb4e3adc6b20e3232f32791cc5a0bc619059729f8b28658ec5006f6162c1b2cd347e181a800dd7155db9bd968086d46eb394a0371d7f0d70e17b8a802040c33378b477d92b22dd363781c8e1732c73d42067571d3cd3046042e823a3a4863a8a5441ac4c8889e68e052e05c7b8e6c44f0610252f5ac696ac2ac92e12609ba8c0d467b7f2f81183966361f6e224cca80a70dd181b4d5d964eec0131c7572712c5393726de903897cfc7af0f37336be604f0c37c32922abe86da94d31b36b1b49a7086cf9e1db58f071981b55e9fc53edc19de35268e1c7d3b4df12cf66a5c9ce3bbd937d7bc9ef5c4fd13e119a8e3cce79efdffc0211b47a0a8fc7bc38b1140c560a778a459ca201c81d24ae26bb0efb7acc8c89d19b4eb49ea76d4a8f6191e2544bdf4eb0b7aaf3d8bebffb730093953caddaf4473f3ff5f1d94833e5f41a77d5d0b4d323215ff585d5051cfdcaed1e1dbf741823432fbdc596d532eaf66ddc8dfe839a3a82c8011b3c58e1d6062206d0eba1b39cd59ff065a28fcd0b90cc380584ee1eaa2b39432bbb39f8f19759fb96158da409f12d263c446a04fb9f926b130db01da0a64a1ffb71eebb62f639a4984e658991996eae642f5fc0d3a1bbdcff7276cf6aff14f1ee48c6b09dcb1afb674ab29356e15e01fdd75f3c5c97817ab6583613eafd7b9e803bcf59d3bf27e8931b7d66d0967004b1c5915532050dcbbd900ad8286b8f1ff7baa432e2a02723dbe463236562cc174a91017ff47c150dd449adf260798705085eee32a79486476b7b1a788e0eac4463cf38f0e6199b7d3756a7c6dd2c78a666be34187757a86623aefe51a1620916d566109dc5986c47a5155bf5a450a66bcfbba2b068e009368833158b1e05ab95de17f8635cd5a6367d4904c75acb553c167514c09f7debbb320deb01a0b71ba6325c8ff6c90a5b4482ae0256ccff2632006c782b2ecf7120d1c34a625449ab1eec15f90c659482cac0e92b27f7e41cc315c4046cf711a53ac4fd147401a519faef7e88b8314206a329d1868f7d0255d0ce605decb0c0e8c53bb7ebc3fad9c8dda25756d2644e8763506503ade1ecb4e2ac19c96b03ea8196a0e56b2571274c841b5ffa3592f33d540ff46500b89102266a5823da10a24e74bdaaa6d8f28014a45b9f8ff80a7bd3867cb823d725c32340d2c445f512eca904e0185cfee4e5022ecb5c5d38d14ac1190e6bf1b5df29893ea33361f16f714c58bf887af48c488eabe61000f0f341fa0d7011112d72c70834475f064cf1394fecc3400486c7fb1687201a7c0272a3e96889483f307ab4e021b32983e2fffe7ffbe69a1c128988c6e73a91fe30c063877c630bb0c78dc5f94d55662faa2d1c54a92df1f8aa06b974c93244c714414d9ee7d609b0a4754e5cbb8f4c135567014ee6f36fc05375aadcd85a3af61eb5df1a3fb17d027a0d70644ece8191156eb7869e29eb71942b9c5423f1b6f7ee0d1a1a21cbec3de932391ff25c78fef3607f8fe7a1741c2df8778ba62a481bcdeee94bc21d6b6d670454e369ac76d67cf48737b38e50dac3c770cb02b246da8ac8596853e911b5c5663f473740c42be4180f887fec599f840f5535a780561117559f47f12453f6d9122961433ca09797ab4b743917acccc8b84863f16a8dac5f9b0abf3652e2d503248fa4a3bc4933a3146b677defa09512b6711b8b26aca4460c61e0af92f58e32df24f770ad4fb293ee13984eb93475f2cb99561c2f126cd885375e6c2e948302d3b98134c8d8fc68e4f9e8aed0f5f2004f9a3993ea8d056a7a1be9f78ab08beb8f6339ea25137d100c4bc9b3c611d788226cd25de4a62484cb056cc8108aefe75494a378d601cf0b6046c7be5248a7add14c4a728c0c3295382b2629f0ba92af75848806c1c61a114dc682db8cc744ff5aeda2af8182dad54b799fc96757d520a1df9b1692adc3933f034f21d20ef3aa08f99b922d19bd7750a4cfb09946aa1058b41b6106c4e79af69f472d3222b3fc1bf753856b7d536786343a396ebef6cb85de96743a7d6d7b1e10d99673aa6ebae1f1fa98f3d35b393ff55044a7e07a0162842c9cb4d29361ae15c71ef8f5ec3c9cbdd5c2e31a5bb8c14205e3f0177d4913e8e95156c5f4836afce65b93816d180e0c58a81bc734f1762a799b50759c450de249c36c31ed66696d53621f79fdda8502e14b70bb7cd4685442abe4a4937f225bf630228cb1a48beeecd69e62d44fc19bdebf72e4a312214507ee6f3629a521542552a45445f8f2a0324248f76a1d0eea8e607ec0940f8ebfc9c3cfbbdac948396ee8511581df8ed0477d04a3a548db01cbd884d7388a835f6182c0af8bbb5487199d8da5ae42304cba380c478340f599126cf1e6923f353ad3b6a91b9b699e05bc8aba84ef9a45d2f763329ddf32146d869c9980ef379fecd434f84fec8884d58f8c0d6b61a9405ee947fa0daa06d2d50ed7b3c4f157fadca7dca894f8d8033387218ca7ef2637bd9adb55ef8a86be8f12d025ff032b4a1bd16e59a8a10903f1f05d0e20c164499e9ac3cb1a388996e3203ddc3d87e894388b90b79157fd40eba0100dd754b42477e2f75ce7b606527e904d9434a541b112fdd61ac5c9919090eb546f88fcd904f564f9175760e273e92427f25906883396ce9714fc8eb0a85cf666bb0de5e166adc0cd02ab2797e8881a69531cd35ffeeddb2613796acf50ab5c9aacab999579838a261448762b0f8a2271e1bf9245168baa2b0f5496194674d7e345c72d396818436071dd998023a6dc3cc30ff541dfa79ca42c667156623cfaea08c2200649a8c9ca6dab6403cc1be5b81163dbbedbca90dfd504d6c318b6a400bd0e50f1b02478e35a5e76050bd67092a255f3c8884bb3fd809de5a15231d0d85b669c8941ce32c736f87d39cd4c787a539d476ed3883dd1becc0a1e3fe9b5ce383ba1d1d1ff6544efc96bc286c6655a82350a045f8ecb7d25f9f85d58db85616d6ce2a920adb2e517c8f410a8ac207ffea969724234e56acb75b3928c3380e206f028e3e9766092231c40ec86b409cd4b1b6977ed5d794ea655100f07e968bc0dea022691813506e981666f19678fc8fd7710fe6dcf464d5a715cdd9ea8b3ff79c84287ff1647ee11dcf8d8ce4ee8b9156bc5c11686ec580695ddacad4ade85efb8eda18f57b29d2cb82b6018a7792cb57fe4cd39c992008e4a63b1acc61b2b0dde081cce9e509abb90893aa346bd4d4b6d59f8fdd580e446681dbe73a56c8dc6530368581e876b738cc9e341f3ab811b0cecc69d07e0ea0e5b108e839ebee6fa252806b9624860300bdfe4c662e545dce6d4c535f3e0839a45f9d6037d4419d4cf8aaf6b8fa92983fe1c300cc92bde7a3cecac6f822353ed2870fd306a30de3e6486c693019485c3015aab2a5f287d32ab27ef345cd36300d6ea4f61449c85063ad6def0711e4c043507deffcf0e7708ddbfa2476bf62803de951098a5afc1e60e279ffa9ccb4bffb5f65b75a617bf43158d91560f3f99a9e38d46864beb1bbbee772c77bf95380d7b485a552e029a1b783a9759ab00edb8332f8bac6bb6301fc4709f216aead1d5ded647357a92d294a76ecf1e0c074b1017473861e3da801c34110f460127f20fa8e67dd348197d1c0a40d969da84ac7b7987978b3229f9ab04d94a20f4dd1001ce2aeb261b4ab225892fd3371eaf74cf144a1763ae32f204f60948a4ad89e2d3ce638ebd4d665cfea4a90ffce7bd7987e0e2f6ba88b11b789621d86c3869f56d0f7327129c71407f9312c40bbf8d79933a15b4103c1775d6799f80baeaca69c75482447c07060c6edd761fee9666aef617af85d55ef1313fc458cc2a8110160775f7f90fd67787bc6b27b446e9e53f6f65f669602685d980769a9e83a38ade6edd861a84c0aafaa372141302c73710e5af59141037c9728abd48b2d0875583643c9fb57034508cbb4d94c4ef01f7ef2d5b6f07d8b2c08b8c4e25f16275d350996e4c5839387044246eb85ab5674263b9ee367f2d70b9de978aba80664cb97aeb394763cb013729deb678291260a2b729cdbdd07fbf7b8e59725126c8c81e2d580649144a30b832e2cd7807bf0a48a9fbfb3e3c37434c5d86031eed408e9694c4060903abc554098a82c5a2186162dbcc5835eca4c431f2df9064a0963063d1bec7f80fefa04c30ecc27dc490704249ac974fe050777393a092154a4aeeaa6f3c381f6c1ebfaa9ba8fbdde58d3b01be3c2ee845d6246f9714108ca9ceaaeb23c2a1d6b455568f5b50493c25093b687867d6dcb577f0cd2e48836a68a914ca9bcf6bff7c9a692eb8be3c9fb56a20bedc97bf201c2a5dac22030c94f4be06b9c8a3e65eab5e342dedc297877e4b61945ace5fa46b7a0f2294cbb25a98414b76ce580c98c108b392d431a7347e5a4dff1a0c88e2b0b29611b1f8671fd798ba8389c237e367f01f8f73e2733c83f059de67f508bc84c75859272a1a02979f44f1667ef67b9e3702a0a9a7bd4095feccdbbee0cf52295bc321385c22e72f58bb68680276a401b269e8acff7231beabeaf03e8ed2da265be7d9fe759b21acccc4999efe907d6705482982912acacb1edfbb7cb20aa5fbf113444e23f6b7f4e7ed80cd8818c0125a3236630dd8f5112a6333fd5725a3fb7459f28a03c3918030365617dbda4ba124a4983348c7273bfe42ce7cffd778061faaa4144b9e97bb45922a0258b8c6026ee0206a06bb618cb69cc907456a9f189150831a7b6391486b34b37d8a746db3279c62ecd6cf8f661929e3e60cf4ea7d3bd20b6588a32aeeb010ac4366e6ad099d5a9efd5d73970f05b2b944ab2b418577316d91addc04f4a2269d56f1f139ce2f4b0c5411287d2fb923ffd00fa1bb20bb55bc90075c46469cb8f5a386d7fc60742e1794ab86015333ab4611b1ec1aff6f775f5fa587d6e3ffa5051d7a22524856cdb93668b590c21de0edbe870b16b97bcab559fccda3bea09df2c9c564032b5d0ae0b607e0d327e31cdf4124fa5f8104a44eff7509e11f66bc52ab81556afa5dfdebc87e3b448de353c0f1dc48e00658ce6a8a6a232341b06289ab5f929920fc29414a7bf838859aa567d52fd51423eeba0cee0ecd7762dd49a2e0b3b7ad85359eebc2da0d83246d54ba1be26c809615ff2728dd7959179c924951b31f500f5bc781997e7e6d80331fa80c2d42c14ff1cf138549721cd78d1a3e8a578f526bb02799986f83622aa3997677f80c7038dd826adae2038824c43ff1d858860b94c4f1dbde9eb1d875cfdda158994fccd571f07b25ef2b984c1cec42b07643c3884045c29c6e4a0884fd953fb4124adbc54ec51724c61d87b274dff66803dee91da7b6ff42f09dc2c4141b8d7b84bfe3949ee1c30cfd689f34b14acf1ac4076bc72c2041807d5c3a82707f8fe608de692e9563a2ec910fee1b11113880358ad9bbaf5e65125d8c851b8dda1c83237a1b60281424b2778e078c7f668f278da97b084dee861c626eb475a921d165b862341ae5d6cc24ad003f39f7350f19a0e36b55fc2e90e55a4d6d4785a7bf877084647038b5370f9ca74ce22166e8d5bd467586cc2de2e6919cf45c728b090356216c412395f3dd370ceba27ef537401136c43b6373c51d7d7a392e2f395860c75e0ba323acd4a314409d056000ed9dfefc883fe380500e0baa6f7e61250c9e5ce63e804e59ccbae22f8ac219e24d4aa5abe191e6bdd1199c9706cda95b98a39218211535653a09e34403106927710642b86fc5a0abb100da880d56b18dac36698773a0e0ee2c60971d39a7137a2f43e0238e0552f604d031805c6117dfe1cb67e3df905f782715507a452d29fe9d444710bda97ea266987b812cb30720b1cfa362e7b1426ec68d591612b24bfb8c22ccec398f551bf477472cf17692a4c99baa119607ce73b976d77a6be92528535f400571651bcb1dcbe123093bfa357cb28ea92014feb1518778344c2e22dac814984bedd0c51abf6cc1260f6e55882d4d9eb21c5a0f63680a1e9073841f85dad53eab1bd3a41c1888720516c2f6e6d43a7d22701e0bebf09ba6afaf5b62c73263545dbcb92c133f4af0d39ca1e3a984b8702a6b4299fe6d42e5c53395e0e1413013ef9b936c43377b3111bb53017c933b39c3aca6c3b665930feec5b691b6193e33e71641b8dd9e80aed6d258b2702f8ca8fb8b8ace0ef3180f4141db37de1e9bce414c50c1eea330e1552c590e8ec87ab52949de324175aa739332ee54b100308b52a68dac806b3022def5a3f17a9b164830d71c792e448eb682ccedbfb4d9747fcc75267428574d4ff519a6f9f132a210995ff7e4a0d0faf205d84ad5f61550165d00a2814d4af532189f7bbaba6a67207528cd57eca1088f8ec123b80ad6b50aae6f796f8a84ab74f9d401bccefddae63d467d3df46682754c4c1e8e966fbaefc9880f7549270a0896e86805ac76310c76ff4f6599771e914acbde81566fdac685120c5b5de3a191c0b326e2b1d82eaa2d2f6287b786558cf7a166fe0a1d72f45803f9444cda626673da790500153f6dfbd736249e5fdf6ea6a795330482c43dfc8ada7acdc9c5992b28bb5b6328b824c92716c9af5a5392d017d46cacbdace2406f7d5d53f0f4b3c86bf27ede48e1968ad347354c95ce57dc1481ec3302c8798a225b26437c5e6c2e348d49e689ac7de6cec8f6c4345b30df9152f57e129a6ab98302cf3bdd1fe4895bdabadad35e1c4bffdc078b5ebbe22fbfcc7f8f0d470b35b340673c973a74d01479fd4a9b651785980e776699f7801f1a3ee52d2f86d72ec06771acd1613b15b971cb44448f329c831714e80795853e43568795bea5a54d51d54b6272889eea1771bd080835bfe577d5b7e3aa4aae7bfbe2d9e18bb3d2bd6e1d437d43d5bec734c1a6a8b72002866b80d8dc649f585a265df3c5d853d8b76a92d0b961c6ba7bf0010fcb3647048b5a4739f031ebaf9cd17c0924f7c0d7e140d3a6c942a4a6b8c995dd33c5931f703560d92512e6732efb8d1b13c132e7ce4ab09bb1efd78c265f89508e0fc85faf9cda43e973b336cc40cad288bc4af1bb3a24196683493b90cf3154e895dda98f2900c856dd171a4a268c39d6c8883dd123d222c3589b9580410a1dcd715533019669a2e78bffe1d8f865f532c412b152351d00d7ce558356c3f4cf5aa09398cf5d269b05baec55874eb32234621d8265df3579be222743d223b67893eaf796bb9bb51bc34b45bb40860bd67eaa9ab925358fae6ab16dc06c533094154faba5e03222bec43df8be89e6e933da3811a87ab0c21278fcc8b5d05ef39458126e1a4fa150a8181c3df9d7e47f25adc8c00ce9588d2772167e626da1005da40cd58887736a42be987cb88333899631025a0e6f7ea6dd193eee45c5832b64467487ee831d4b5ea6c0f10cf75a2713b5199a6aa3728c2b60109af4e2828c357677e69fbe80930af190501fb077e555c8a5455a16ac9a4e270c916fbd0c1d2e8cb86740e462c0528539dec2c1e2e3d23e8da96de3d80b154eaa35c98d5157f2c5344413c6227998c97454f7493cbd0b0b365f148acb1979b06f99da14d4f0ec34c919b490ae3a82022a0b65cc30c3335ed1dd7b6dffe741728a0c5e1fa1d91336d38ea1f4fcad4d13677d9db6b3d3e10e247adc70566d34ad6a4664a0f7ec57b58b5aa8ef61f12d82f7aca74e3b072b6155dba533a371815ec7d3cb1dcdbb4aceb88d14bbadebfb2e7a90b596d01f79f617058958d5782fbcce3e1f1f7e7e007dfda2fbc0ec7d93271a1c8d27200dd79a97d5f64bd84495ccb1d34c17136f22f2af1f05d5b75983fe6e315f82280c0b2565b7cb2594c79b8b463d7f367f101848f13ec5d353c7e67065debb0ed6eb4224c4eb8761a9edf311116462ef10e9f9ab797ef1d2533c58803d5e02b63fbe91e7eb0bc883de3a8c2278cb94d2bfa1ee2deb85ddfaee42245ad55c9ce4551c24f14980cb34dd046b6c7f63892d520c459b1a533dfa9f2f02cade55281639fddf96f0c018e77af8c71e1000b4eecb24191ea60b1859bf9c9188d342fb6546bf41f0469f5138aeeb6b9e3eb901bd094521f3b8c74dfa31ac68c48cd812c54814b8833d714a69a8c70c721e6a147d07ea21ecb6e9a1eba0dd5a057f14726a4db91deec4c6248ff8f6d2204db7ef6541e6b11a411a042cc4e4d29a36f3674b40179b3150332194a6388760b1385f43bf5d0bf639b4d9ab1f1e20e5e5de65263bc27b726f2b9c2c436034de43bc8845cde6b900b20be4fa8ab0ef3e2ce6ad6ef5b39d75a649fb2f1ef36b0dbcc2fa43e99d355569694046e5ff01ed199a42f5dcd370e760419fd8895da4f4ef33375c71eeb81b4a582c03de9d4a6302cc8123eb1e109bf1c31f62d50dd2b66d322bf05c27c4c689ee348902d72dc00599a1d499a1d97e381fe222375824c7fd76a3115ee6c840aaf4b85bce6c02114165798f0d6b2c9d1d092fcbbb64b24a91a972b00d2587cff0c4eb06c0d2c08737f66773912a992408a4d9f6021052d59bd0e010c45f48ac6e6f5cc22ab4237a42701eb61a98c417b759f140bd04465b3cf31d96a83a21f3177b3725698de5bbf6b29f990274af5ec0204fdd1bad36d3f9e0b5252e25a74b9040e29919bc118a122dc6a5b1865f0075fb8f5c215f4d6a5fd85e2a498f47acc95cbe2822d78d4868afc1b70be77a000a8e5755d4e99113481f9edbc6758872f6cb6d6c49f42ef525c489e15e58e6f716e72aa16e5e3c7c5c0e72fcbee875eab106d4f046c6b1d62b471d5da6cfc8a9fb0d39f146b8fb24bbfe896ab9525784c3703fd0c79ce6d92befe4e2414a0f44c842d072d658da8d4f38db90ab094d7ab81dcad0051aae2ae2e606da04af027ef9b6793b29338a0f1b8dd2dbde304815af7ccf421ca239d30aff76151ec1c6c6961cca29dc018ff8dc0f341b45d374d0e152e37dfec791f3a80eba5f131938821b1bd2a219dab1c326683cb232e7a5080e81e360055057a621dd83b61a129b850d253447a6d027038c8fc18a9530e44129ee8f4eea04d2fe3ac38dd9581deb2cf3f210d479d17663b39ee4db86bc43a6bec2333dd51189e575844a48b1941e4ffe3b0783080298d5061a8b46f34c45f2a4fbb14988ef35333e2110189bb452e7a0b6e1d22f8314e83130c5475ffb9e95fb5c6fbc2eaec85d6d51871a2301345e278db35b073f167639d9ffb114c47b783e3cd8745bbabb211a66f298ee21a5973f18d5834eac94f59072a66a32bf064dc6ea1981379faecc9539cf0b6c200bca5b2a35075e377add3c607dbbba92489a3bdfb6b4283398f197a65df1f7f4e9764a2632d9746ee94bdc6f04c35324973974dc92b71e0154a3fd23265410e7386d90a3563abcd07c1bba206d5b46b972103c2a70bb0cdf4597e6da40d1378a67c2f87611d953b48b1cff9eb74759d9b0b733aa8564fc045811389967332fbdfaa330d80ff23f649be9ace2fff48d1019e67828168c36a42f05919558b1315518f03e4e4d1843e1f93f1fcce2a844d4fadb8b913b5a80a500802a5773d93cc431fbda9d8828d850f75cb863eea8ec04cedef7219b091370bbfe1e245837c7958c2fa59bd2d60382ef311417b78b74ca1e9f604a6094b089698a777b68117ffefa8f278dc5f07e23706c3732ebf5874cf1e7f711298e6c9b15ed37c7733ccef27fa1af16926eb0f0977c88ad971f9d082ee6847bc12c40dba5a5217d22a6e94a56155c71fc3a15528258ab3a2e18e748a29be8f17ae2f81a680398a90dbdfddd3102e2888cab13ed86801f437f8f96cb726dd15c0eb62c6591713c2b3e371a6db5a3338516b09cd14a5d3f56c6195b43c27af8b71f5641f7e3ae54d810e25919350218c52f8672edf917b9d37954a3f287ffb9f6da71abb7ace7b3c9f3b79db5646e7b247956aab73bfdd68dd72b2e57b3f2f9ce711c166afe698c0cf95f27ee8597af06eecaed62c4c392eded4bab67087983004a758a2fc6b6906f47b4f4b750492acb76a9716c8ac3231bd5960e3f49a23a965bbdd5bf531d429d85592e696230a39ef6ca3d5c9f6fe6074c45ac7bf849246c586c83b56f3cd14af65f22e1f9b3ef95c8c4a56d02dc9ec6a53691844f25081711b09180e1c62350bbec7db10fe68750bfd2824dfc528fbb05c48a18a14f790c96a5e6298b60359de64d74b039059140deec7c9caa17ba5317c9973a533f02e3dd181e42438bccb3061422561e7685d5d035937a5254ddcc84ff9470bbaa447a3eae9cac5923b1349ba18eeda0d85317dc57ae41abc91281f1fe898ec894abbbda3c6cbe4c0907f7922dbd39c0654aea5f12ba372a0217adfd023dcd748518880a728bf486fbd309a668a394244aea83ba322bc3d6179e6a55473a404f57e43ea463597ecf0379a9e12e074269bd15801841efb07321c8a5fe61f52ceeaffd0558c019fff008f7051de05249a87b2f5faadd3ce64d85d341222836f4336d542d7e8b2387b8332d807edf376e59454f26308777184a38a03199463826fad2d5b9269d3e2d0d1855fa28ed8367e66164b8c2f9b762b1548fd957a8df4f746e19f7d2bbcfa1af1d2bce675179b36bedbc972d82f47d991eae2a023840d60870a958ae6daa710f78faadb3229bc4b86ba42c7483d864d53b2983bcea79ca65c73a6dead354911e58c61b426996bb49dd4e28a300f30872444ce5b93818cd34dcd3aee2468eb981567b5535f528fae96668b129a23c91b01376617c9e98f14f23caeec0fbebfd24b6ac3efc007209ca0a4fb9867dfb0d898260797b834f341f32e2d7291a751a342fe45f09ba47e56617ce619b9d978c81af7b5bc1f7bc97c2db9158a8dd07205c5c94fe39299378a64ee31367ebcefb95f041b95be1f7ebe1a95222563bf45d61f6c037cd54bf0866967e49ef0da35da2a9f9b2fab5cbc22f7b74cf97919f135aa94fae59936a3303a3235c2873d6c9d10ecc62be87e2cf3f9dfeeb528aa1ab45fe6f61d8b23fb0d4937bdb947f574bc2d220bc6b9b1f4f174ad58734b4c149dff703c09788c1b8178e541464142ed7ab205a30a37d59a920f56a47e3ebed23a1ed2c5cbd548c51eeec6006cd3062c461eb3ddb38d120606df6da56b63bbf30880ef440a31af13a91a4126bab8d359239082d6a5010789f255b7e807786a2f88a50c920cdaa7bf662d5c4bc635d72e549a06c75ae4726163023a0944441981cefe670e301c944f6b7fb2a3be22d2103dc6e0282b7ec2d647470f8a03bb27794e6ce3128a5e403a7575519c2a526cbef22d62a28e7fec7d90ccc30042d4ec6700b485e87bf7298d06d83b0db2ea3fc89d28097e30b71dd770c25d74b3903e2e53899c0d4c23cb28dca5bb56d2c7f9698ba2e38710ac69450f7be918e99d846001438aed1ae39e58bdbfd1d258fc9b6e075170eaf84fe4f2a5624fa957f94ded400ba187ed9b4e35bcd3b40b667e96f62e43c460fd53a655d1b2f63057346d8482abe4bb1fe0a7834c30b020cc57a8f02d1ae24e1b5fb85eb92d872924a8ca3252292eda5522342a2b664eefc9fab8e45ab22b6c70907e409707fb5dd65d75587f9b67fa5d09ada4ebdec44a2692df0c8f0ae0c9775454a71b30caf3403035ef642cc3dbe68577ffde89d68163e556e41fac89813ffd1db6615d74df8ab6b6abbfead09b504c202b65c4fae58e44184cc8adda5e68abf615af42f2e88e50dab0776d66540d36a2ccfe88a18fb0a654f9c1776676c8260007e384c6410197fb4ff4ea55bf0697bb46bd872bc67c911cb0f4f403612ee876f3d1774cf866f0991a6e87ffa5e3174a1af5dcce6d93339256f1407b2aacbc9055740703aab380a20a8f4b3faf7b80aeacd997ef35eedf4b2c3388e7ec9c4bbc175da27fbf31a3de75166b050249715474f563f47cd6b337a75e7f4c5a8419f2342799cd4de7997b9b2724dac35a73c3e5089e1ed8591a44a34ca5754bdde5dad4898a34788a4747c4584adb8a7d4cf801c82f832a9b492a718581999a4546aac80e9c3d8971ddc30b56c43c40afc812df6dceb133f05f30d1cfe6fffba857d77d7481f69b5bfe65a037cb4cf78045bbb0883df497cfc2638ff2bef17d28f0e2ad48f16cccd448675ee604d1ca727af521cf0785f1a8f58ca5bfa7688a5b4518b8aea38130007dcacd71b52d7256de5c3e33dfd83ef7906d6eabc06dfc7661aab3b85e8c5687d998b714c8a199bda4bbba3fc76dbb994a9af8c397d37a7a1ece3deca4f3d14b64496225e449caa2901a0e6786fba89558b1a867316ba79c4ea85faa944bed86b7d81c1fa939367bb5f4bcc886cf0d450d4c027c71eb889168aa8426c1a34a4204b0ee21bb9b1e85464b89247517c9d7b81c8a0b35fa970e1dbeca02f110407a5622848345543da574ebbbd97c02e6b7ddfeca8bda48a872eaec0d86bebe45a02b59c511f7842b86bbf19c53d29899709c5b24f12e971943c71877afec9817097d4cd163fd91f17fbcb1ade44926a5ec22be19f1342473678ce5da1ab9d3234e2c8fc30d108f47d01e8644f087785ed59df688dfd1cba8a3993df9de7011460c3cdc183f1d0c51b99a5d0842248860cff952cbe393e0f07d7451a56ca552846d82585d5a60afba12006068feba76064921f0cbb19c93149aa11b5c04fc404ca2daec2147c7586278dd1bbf8d2cd16d546cb47d37ac8849124c8924d51b3de7496a1d76cf058b5af37b905a7b20d62a36050dcbdf80ef7ec4947c251460452bbeb94b85f8bb0125e46ba12a8fe03baaff112a9b2f2ec9d0956231151da851792aea65f20cd5e69e494c89cab3ebc952ef48e2edffce37dacc87390f027b562affa45319a18c05e3553932e1a7706796d7bbf2978aaa147782609fd14b5e2f99b735b53988208ad627d3381ebf29932b9a0d7c9d6f30485fc5192a09ea46d2798f4a66f202ce35ad5bd4b76e11eeb8b6aa0d577c6e3ee7d12571f076f96d9da4db460f53df991fc15efa5e78d410cf8ef7fd4759f663570eeaded37bf0acb24114bf85996ed69dc61a788ed206979de6d8bde8f334b861a652081dc864d4fafb8a5802a58d5a7db7f183549a847f831934bff9935449e762eaf66764b89e48ec6e31e895759dfe91901935fceccd3247996722db37c24a4b1b3ade67ba79505d13c5287304b37f7017116ab0bfbd051597d8265bc1fc8f8f123f66611f679c9472f2faf415cc0143f7a0517b8dd106bd340a43da4da56e81faebf8c51cfdc80b3aac4f22704ff835c36b0f85272332735d55e09f7202f64b74486f563cf0dbc7d762b2cbe46a95046fc451ba7d7408a41a25e50c6c4bd594e5a97ab605e1e0ff7aa6e0bd656975917b9b99de5dd3367f303090b5555013582e36593a9b378dde7052f91951e26ad50fbd0c38cda92b48e90b464b8815dcfe524af25c3bb100a15f25f524b48cfc1e904d0442dcc1f0c81473762144f900eb1b1685aec0a45005a97c1de97a5b4b68efbcb96432f96a0ae4eed357b92df84b2e3c8460725a6befcbd211d8e29641d5657e3cfc9f260c06a913e36d423236aa86d6793dff41bd4f394dd5b0e29db0528ce730e440e0e1c539177f2fcf20ebb205003686b514ab3a94ec6d8a71cb1891df0aab1550a23cd57b3a70fbe36573ae5b3eac8f3f19fc1fc8b1b651c056fe8a8dada2f93ac7d09ab4d5a00b333728b17c022a087050cc153394e2e3fe7ef3c47acc4569b6a96bf14bbb4c3b5c38eda42a911f7947a51e7dd92ab6171df2dc72ecc6442a1ee18f0d8695319e553b8520f3965eccc52429d0f9f4dcf23b27277b6b2c4062729d7228587197bdedf1dec970c97733cbfd733d3af4673aba3a438c2b00d7a135931e5dfef1fd24e5d204badac4c42206997db4c44c80632881641133b546d41f26c9aeab4194aece7bc858330f5ae88ee766864febb79bc9bccba74e3771a851511f22edeba279b61d371f0f96315048cf2e6c4ed2607553463bdf20673c3d367c4e233082e286058a5eb2514e411745d4c470397e9d08fa76cfdcead0645f40121841b398786a4ac877145b2b31d5e8854885fd7702bb5fa884516db0a4a48add4f68904869bb96639faeed36d3abcfc200ecdc21667470ccfd249bf453da0d4fdcc493430b9b15fab9fa647ae2c535d97b9f24a4a6065a13b2e658453389947552e660db506ea7d2ba737b16f0f2dcaa9edbbd87195dbbd8c22fc2e6cd5385c994350536cbe392ef6eb676622f6fc907c3aa5e59be1557f595363a710d4c7df90172bb604722953223b67676de2566909fb24d1612d06a08b7b88583f5a2b9325c27c4f32aa15e6060b7be40ebc137c1322805a83377f57343fbcbb763445a00a924f94c8975b6054ecf3f1cd890913248afaad438f6928460d0edd59d90ea13c88a961921663b1444be5c10e54871b351d13d30440c4d820ab54ee98624ebc0d42d00ebc7adc7608f8c1695169931e2a8a956e856eb3201c54e227819984b59535ee62e00cab42b59966d14266182817721c31f2d2dea240d01d3d08dda87aa08859dc8e81b676fc117b86c19d81fd5ccdd7ee8d6d30241a65c7def4b410682bbaadc131edfbd9bf51f3b43d98556b4d1866c1631ffc53ac662cdf47d63e9f23ff41c5fb4dca8b559f6bd449b3e5a701c304ddd496e836aaecf5faa29d064d31ab79955681316d93823ff8a7f1d7f8c83cac7121a1413147f14383fc03003fb40be086ec7686fcdbeb784236d8980d10734a1ac3581ef6482df9de6dd0cd92d093df30c17ccb7db4582b3e42de805dc6b3f49b480aee81e5c7b56a22d0b31f59102e486bf76c3b4399a7150817f060a4bd7ee8b8dd732d219670e170d8aa82d9bfca6d1e1365427557080d950d3e228fd73a74d92a891ff7b098a6c68d87658e4dd202a1ad4b35f48a93eee97627f129deea38af9fd26c4501334c8f7762241f74dba2d989cf017063d16d64857ac71b76d249624b7492e6df2e8aebd76ea314fa0a0daca1f1f5db2d3c7cfd638480071fb9f1b5962f8a5d9f8afd1d9b12a926de0dc88079df2f1fb2c852f8dbdc1c9e381faa0af8664a26b9cfc817b67c4053b6c54fdfe1c467a0e1a25413bc8375479cf5ffc6f8e0581cb70611efd57a225c0a3aa6feee2a9393ffc7576d7818bd0d658151d7cae18ffb1913a940829f015db7b0fad62598ed3aebaa4065a7d09866c7a4c571af714d4f88d7ec051db256f37dba9e534ef9dc6bf814492c09a72ad741e7482b37f943f01f83390e2487145e328e91780cd48837b595279ef47c210bcfe563185f7d26bf837a0039b4eb3d29d8c67846ed135d8a946c134808847bdbf11e32076516add626f834b753d2d529aae26ca4494fd4851c539dc45f6513a17cde97e241e4e7156660d5df5e2641a29a34a36b1b40117d1270116fcdc982c0a5fdbd9fbc644e0b7bb5113a2ec33df4c8c66814add198fe83a0002dca915da256ca8d2ab901d983573db85567d25937087b65a7eb4024a95b34fc73e20db247478ec29f35daed1cdc90ee735d85b0ca921fb86ed364e03045084a0075848678d067ceb0c135afe62af1d847c7f620c4d965a2ee754e4db11a91802f3ed60e7bd1fa8270149f430b5eb80eb93c4d73d0de9c86f585f5e68358d9c83336ad0ff1236c57715b2092a745680111635440ae115b811d7acfec03c7d4afd4a9f503791e4f3529d3d0a290d29ff4feab7a99cc5febe4b1a15d3c50e896fab8f0c3979adb19447a73d1ec10065cd0591c5b294484dc94ba92b474405f971bffeb4255f648706459fa19933c3a29b8e47b211afcd0093be638fab827e39706e1cc23737d23b834863d7e338ed1f3e09cff26cad9212ee12b49e6d850025d2ebd003acbaa6d949503b7cc318a81d4f424863e06b90bc30179e64679c452a2293f32495fbff5114b57217dd20a08ac1f72f39587236182486277e12258b140d3aabe8096feec116a58e73a14b95be3f184c7bcbc97233cee87b10fd4a6726c2b634b60f42421982a606c545df16332e6399397ff6cf87812f9a5bf9bc16596ab91fc49b1b1734dbd38d835845d59968838dd33c49316dfeefec2fef706a6eaff40870ca292d9b5f45ac7658f661e5b009edebdc2b8ccf1e4ca942d08e086643cdbdd12c06cbf2bf5968e21730538ab1272239bbbe94b32cf1a464912f2353c1ae042124c49a13907c43fa11efe62f626d661496a3381300748320c4c9d13901abcd28fd018f773d7cc9f43e857517fbb8af8d6bbd3c66a9ef0499a7220521843b54f284cffed366881e9b6b364e44d8df28aea6b24fea11b56108f60e8debf389c01a1ee4af9f3ed369548f7423ab00c28c8a04aac6baac9b204c89641371a17092c28f2b04c9e4416115570acc9fca968b90a8749cd9fe8248ae55951f2f057302dc8772af692a7677070959dd93ef92c4ea26cb02c30368f07903bba8e69c24047af4dc2be90c75c828cf99ac398259df8e2a1bd9cb97069231e2c2def0ff1bdc94cf963ab4a86b0d8d5635ebb93dedff059b9ed83d1d4aa5944276e301f16de62b196ae4cdb11c3102138b202a7652fd7cb20f9e48e86ca37e02b5716b95cef88988a952b17624c734469d613efb8ca46393f4ed1a0f2c1e17cd942be7afa1dbbde0412c6f6ab01a79e8f4dbd085e7a09861384606f7af3caba0ace3cfedb071f287ebf12654643506d91cf1027fc25122ad2571119eda3999c4d471987d4690070b71b9dead009ce64607293d6a902a54fb2630fed5827f5e38300c20e2d0f9c178e583260765365c93fe7435a5544f4bb4d97ce7966e6892aff1582cb650032609998caf4fe146e4ebe3d26c2a4bdf58eee3de2a22f734d8d581944fc454cb8492911c4d886ffe18fd5afe8d4b4fb3f542d37391ac3a28114f6a546d09188140b3d945bee4d371c2673a90ff8fafafe609dc47c1c220679f24eec2efea16082fbe9bb8a4c5df289e3de13f97fabb5b7c8e23aec397d85d59f3758950f8efb42af0fcee7c6532703ae82063647e71b7595a261170decddfbfe993af1dcb7079a997edf71d7205d25bb38a6cdae6422a066437fb597072914165561336e41443ca7bf7b8685c2703e2895d2a57814957178fe2e9c43e17e431cc3240fdb267a360324c32cf0a1dd0852381bb3cb5578e7329a6c87aba5fee529c24140deac05875638e04981bac63089ffeab6b35f7e5090fabb4c913a491a97cdd27b5a63ab783752dbf7bc9dc5f6c8e6c4fe3384d257ea1243db2dfc27158ac3215cd74d9fb62f7cddba313248cbdae1a3399eed376b10ea970c58b9003f57bfcc6bdb68f8a82640b78ac1abbdfba4bf6f6cb4d8ce52adebc716db1998030f317bde716e11ca5985c2a1220bb642ce7981fa17a195a1904a7c9a2ea9d1ffde1d7aeed6599805ff52d018a610ef4d311665037be9cb90e6e1f4fe42f0f9a64f94ee028de8bc010c135405bdb8266d502d506e4d47615e9af46f682cab074c3f508065023fde6c957f5c1d17f6654763bdde79127a01e46b7618773efba721c76402bc6c2221107b0ff5ce40043be209c9f4c8843ab125ce11c7b20562a18229828f03b76aca2eef3ea674fac475fd00b970fb0e4446f4233d270f716d74bed47099961677cd49a655787065f95a969274f22192cd8fd855230a72f1256805dc3229300b753594cfdddc2310cc0e4540bb677366260e3023a945928e32d840963be86e948e1c131b5rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-3004-150300.53.33.6.src.rpmsalt-docsalt-doc(ppc-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)salt3.0.4-14.6.0-14.0-15.2-130044.14.3cv"@c1@bb@bw@brjbUibF@b; aaa`2a/k@` @`!@`q`~@`u`H`<@`&m___@_@_I@_I@__@__t@_d@_3_A@^W@^^(@^@^k@^^^}^|@^p^oj@^`^`^_@^_@^\@^C^8 @^1s^[^^r]q]+]@]]]7@]N@]߶]{@]{@])]]]@]]]4@]]?]@]@]@]p]o@]nU]i]R@]M`@]@1@]@1@]>]9]%@]#0@]]@] u@]@]@\\ \t@\\@\\\s@\-@\\8\\w@\w@\v{\HW@\?\=@\8@\73\73\/J\-@\-@\l@\&@[@[@[%@[ٙ@[G[Ѱ@[u[$@[$@[[[;@[@[F[ @[[[@[[:@[[@[^ZnZ@Z4@ZK@ZmZ3@Z3@Za@ZZľ@ZZZ2@Z@Z@ZZZZZ@ZkZZw@Z%Z@V>@VIV@VU@VVVŲ@V`VwVwV&@V@V@V@V_V@VvVvV@V<@VwVrVpVhV]V]V\:@VV@VUVO @VEV@VVVVVVV@V@V@V@V@V @V @V @VVVf@V@V @V }@V@VBVBU@U@UUUp=U`kUUUJ@U3U:TܕTTWn@T?@pablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvictor.zhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.demihai.dinca@suse.comjbreuer@suse.depablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.depsuarezhernandez@suse.commdinca@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.debo@suse.depsuarezhernandez@suse.combo@suse.depsuarezhernandez@suse.commdinca@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.dejbreuer@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.combo@suse.demihai.dinca@suse.comjbreuer@suse.dejbreuer@suse.depsuarezhernandez@suse.comjbreuer@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.depsuarezhernandez@suse.commc@suse.demichele.bologna@suse.commdinca@suse.demdinca@suse.demc@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.dejbreuer@suse.dejbreuer@suse.demdinca@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjrenner@suse.comjbreuer@suse.demichele.bologna@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comdimstar@opensuse.orgmihai.dinca@suse.commihai.dinca@suse.commdinca@suse.dejbreuer@suse.debmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejrenner@suse.combrejoc@gmail.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commalbu@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commoio@suse.combmaryniuk@suse.compkazmierczak@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commalbu@suse.commc@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comkkaempf@suse.comkkaempf@suse.commc@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commc@suse.commc@suse.demihai.dinca@suse.comMichele.Bologna@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commc@suse.demihai.dinca@suse.combmaryniuk@suse.commihai.dinca@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.dedmacvicar@suse.debmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.detserong@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comtserong@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.debmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.comkkaempf@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.combmaryniuk@suse.comkkaempf@suse.comtampakrap@opensuse.orgmc@suse.demc@suse.debmaryniuk@suse.commc@suse.demc@suse.demc@suse.demc@suse.demc@suse.demc@suse.deaboe76@gmail.combmaryniuk@suse.combmaryniuk@suse.comdmacvicar@suse.dekkaempf@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comkkaempf@suse.comdmacvicar@suse.dedmacvicar@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comaboe76@gmail.combmaryniuk@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deaboe76@gmail.commrueckert@suse.detampakrap@opensuse.orgtoddrme2178@gmail.comdmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.detampakrap@opensuse.orgtampakrap@opensuse.orginfroma@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comaboe76@gmail.cominfroma@gmail.cominfroma@gmail.comtampakrap@opensuse.orgaboe76@gmail.combwiedemann@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.com- Pass the context to pillar ext modules - Align Amazon EC2 (Nitro) grains with upstream (bsc#1203685) - Detect module run syntax version - Implement automated patches alignment for the Salt Bundle - Ignore extend declarations from excluded SLS files (bsc#1203886) - Clarify pkg.installed pkg_verify documentation - Enhance capture of error messages for Zypper calls in zypperpkg module - Make pass renderer configurable and fix detected issues - Workaround fopen line buffering for binary mode (bsc#1203834) - Added: * clarify-pkg.installed-pkg_verify-documentation.patch * make-pass-renderer-configurable-other-fixes-532.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * detect-module.run-syntax.patch * ignore-extend-declarations-from-excluded-sls-files.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * pass-the-context-to-pillar-ext-modules.patch- Handle non-UTF-8 bytes in core grains generation (bsc#1202165) - Fix Syndic authentication errors (bsc#1199562) - Add Amazon EC2 detection for virtual grains (bsc#1195624) - Fix the regression in schedule module releasded in 3004 (bsc#1202631) - Fix state.apply in test mode with file state module on user/group checking (bsc#1202167) - Change the delimeters to prevent possible tracebacks on some packages with dpkg_lowpkg - Make zypperpkg to retry if RPM lock is temporarily unavailable (bsc#1200596) - Fix test_ipc unit test - Added: * fix-the-regression-in-schedule-module-releasded-in-3.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * backport-syndic-auth-fixes.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch- Add support for gpgautoimport in zypperpkg module - Update Salt to work with Jinja >= and <= 3.1.0 (bsc#1198744) - Fix salt.states.file.managed() for follow_symlinks=True and test=True (bsc#1199372) - Make Salt 3004 compatible with pyzmq >= 23.0.0 (bsc#1201082) - Add support for name, pkgs and diff_attr parameters to upgrade function for zypper and yum (bsc#1198489) - Fix ownership of salt thin directory when using the Salt Bundle - Set default target for pip from VENV_PIP_TARGET environment variable - Normalize package names once with pkg.installed/removed using yum (bsc#1195895) - Save log to logfile with docker.build - Use Salt Bundle in dockermod - Ignore erros on reading license files with dpkg_lowpkg (bsc#1197288) - Added: * fix-ownership-of-salt-thin-directory-when-using-the-.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * save-log-to-logfile-with-docker.build.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * normalize-package-names-once-with-pkg.installed-remo.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * use-salt-bundle-in-dockermod.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * add-support-for-gpgautoimport-539.patch- Fix PAM auth issue due missing check for PAM_ACCT_MGM return value (CVE-2022-22967) (bsc#1200566) - Added: * fix-for-cve-2022-22967-bsc-1200566.patch- Make sure SaltCacheLoader use correct fileclient (bsc#1199149) - Added: * make-sure-saltcacheloader-use-correct-fileclient-519.patch- Update to version 3004 (jsc#SLE-24223) (jsc#SLE-23672) * See release notes: https://docs.saltproject.io/en/master/topics/releases/3004.html - Expose missing "ansible" module functions in Salt 3004 (bsc#1195625) - Fixes for Python 3.10 - Fix issues found around pre_flight_script_args - Fix salt-call event.send with pillar or grains - Fix exception in batch_async caused by a bad function call - Fix print regression for yumnotify plugin - Fix issues with salt-ssh's extra-filerefs - Fix crash when calling manage.not_alive runners - Added: * add-missing-ansible-module-functions-to-whitelist-in.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch * fix-crash-when-calling-manage.not_alive-runners.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fixes-for-python-3.10-502.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch - Modified: * add-custom-suse-capabilities-as-grains.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * adds-explicit-type-cast-for-port.patch * async-batch-implementation.patch * debian-info_installed-compatibility-50453.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-bsc-1065792.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * fix-multiple-security-issues-bsc-1197417.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * fixes-56144-to-enable-hotadd-profile-support.patch * implementation-of-held-unheld-functions-for-state-pk.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * improvements-on-ansiblegate-module-354.patch * include-aliases-in-the-fqdns-grains.patch * info_installed-works-without-status-attr-now.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * refactor-and-improvements-for-transactional-updates-.patch * restore-default-behaviour-of-pkg-list-return.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-master-as-dedicated-salt-user.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * use-adler32-algorithm-to-compute-string-checksums.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * 3002-set-distro-requirement-to-oldest-supported-vers.patch * 3002.2-do-not-consider-skipped-targets-as-failed-for.patch * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * accumulated-changes-from-yomi-167.patch * accumulated-changes-required-for-yomi-165.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * add-all-ssh-kwargs-to-sanitize_kwargs-method-3002.2-.patch * add-all_versions-parameter-to-include-all-installed-.patch * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * add-docker-logout-237.patch * add-hold-unhold-functions.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-pkg.services_need_restart-302.patch * add-saltssh-multi-version-support-across-python-inte.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * add-virt.all_capabilities.patch * adding-preliminary-support-for-rocky.-59682-391.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * apply-patch-from-upstream-to-support-python-3.8.patch * async-batch-implementation-fix-320.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * backport-a-few-virt-prs-272.patch * backport-of-upstream-pr59492-to-3002.2-404.patch * backport-thread.is_alive-fix-390.patch * backport-virt-patches-from-3001-256.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * changed-imports-to-vendored-tornado.patch * clear-network-interface-cache-when-grains-are-reques.patch * do-noop-for-services-states-when-running-systemd-in-.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * drop-wrong-mock-from-chroot-unit-test.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch * fall-back-to-pymysql.patch * figure-out-python-interpreter-to-use-inside-containe.patch * fix-__mount_device-wrapper-254.patch * fix-a-test-and-some-variable-names-229.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch * fix-async-batch-multiple-done-events.patch * fix-async-batch-race-conditions.patch * fix-batch_async-obsolete-test.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * fix-failing-unit-tests-for-batch-async.patch * fix-failing-unit-tests-for-systemd.patch * fix-for-log-checking-in-x509-test.patch * fix-for-some-cves-bsc1181550.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-grains.test_core-unit-test-277.patch * fix-ipv6-scope-bsc-1108557.patch * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * fix-novendorchange-option-284.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch * fix-save-for-iptables-state-module-bsc-1185131-372.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * fix-unit-test-for-grains-core.patch * fix-unit-tests-for-batch-async-after-refactor.patch * fix-virt.update-with-cpu-defined-263.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * fixes-cve-2018-15750-cve-2018-15751.patch * fixing-streamclosed-issue.patch * get-os_arch-also-without-rpm-package-installed.patch * grains-master-can-read-grains.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * handle-master-tops-data-when-states-are-applied-by-t.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * integration-of-msi-authentication-with-azurearm-clou.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * loop-fix-variable-names-for-until_no_eval.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * make-profiles-a-package.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * move-vendor-change-logic-to-zypper-class-355.patch * open-suse-3002.2-bigvm-310.patch * open-suse-3002.2-virt-network-311.patch * open-suse-3002.2-xen-grub-316.patch * opensuse-3000-libvirt-engine-fixes-251.patch * opensuse-3000-virt-defined-states-222.patch * opensuse-3000.2-virt-backports-236-257.patch * opensuse-3000.3-spacewalk-runner-parse-command-250.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * pkgrepo-support-python-2.7-function-call-295.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * prevent-systemd-run-description-issue-when-running-a.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * python3.8-compatibility-pr-s-235.patch * re-adding-function-to-test-for-root.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * reintroducing-reverted-changes.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * remove-deprecated-warning-that-breaks-miniion-execut.patch * remove-duplicated-method-definitions-in-salt.netapi-.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * remove-vendored-backports-abc-from-requirements.patch * remove-wrong-_parse_cpe_name-from-grains.core-452.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * sanitize-grains-loaded-from-roster_grains.json.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * support-config-non-root-permission-issues-fixes-u-50.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * support-transactional-systems-microos-271.patch * templates-move-the-globals-up-to-the-environment-jin.patch * transactional_update-detect-recursion-in-the-executo.patch * transactional_update-unify-with-chroot.call.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * vendor-stateresult.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * virt-pass-emulator-when-getting-domain-capabilities-.patch * virt-uefi-fix-backport-312.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch * xen-disk-fixes-264.patch * xfs-do-not-fails-if-type-is-not-present.patch * zypperpkg-filter-patterns-that-start-with-dot-244.patch - Renamed and modified: * 3002.2-do-not-consider-skipped-targets-as-failed-for.patch -> 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * 3002.2-postgresql-json-support-in-pillar-424.patch -> 3003.3-postgresql-json-support-in-pillar-423.patch * add-salt-ssh-support-with-venv-salt-minion-3002.2-47.patch -> add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * allow-vendor-change-option-with-zypper-313.patch -> allow-vendor-change-option-with-zypper.patch * fix-inspector-module-export-function-bsc-1097531-480.patch -> fix-inspector-module-export-function-bsc-1097531-481.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3002.2-500.patch -> fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-state.orchestrate_single-to-not-pass-pillar-none.patch -> state.orchestrate_single-does-not-pass-pillar-none-4.patch * fix-traceback.-_exc-calls-429.patch -> fix-traceback.print_exc-calls-for-test_pip_state-432.patch * mock-ip_addrs-in-utils-minions.py-unit-test-444.patch -> mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * support-transactional-systems-microos-271.patch -> support-transactional-systems-microos.patch- Fix regression preventing bootstrapping new clients caused by redundant dependency on psutil (bsc#1197533) - Prevent data pollution between actions proceesed at the same time (bsc#1197637) - Added: * fix-regression-with-depending-client.ssh-on-psutil-b.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch- Fix salt-ssh opts poisoning (bsc#1197637) - Clear network interfaces cache on grains request (bsc#1196050) - Add salt-ssh with Salt Bundle support (venv-salt-minion) - (bsc#1182851, bsc#1196432) - Remove duplicated method definitions in salt.netapi - Restrict "state.orchestrate_single" to pass a pillar value if it exists (bsc#1194632) - Added: * add-salt-ssh-support-with-venv-salt-minion-3002.2-47.patch * remove-duplicated-method-definitions-in-salt.netapi-.patch * fix-multiple-security-issues-bsc-1197417.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3002.2-500.patch * fix-state.orchestrate_single-to-not-pass-pillar-none.patch * clear-network-interface-cache-when-grains-are-reques.patch - Renamed: * patch_for_cve_bsc1197417.patch -> fix-multiple-security-issues-bsc-1197417.patch- Fix multiple security issues (bsc#1197417) * Sign authentication replies to prevent MiTM (CVE-2022-22935) * Sign pillar data to prevent MiTM attacks. (CVE-2022-22934) * Prevent job and fileserver replays (CVE-2022-22936) * Fixed targeting bug, especially visible when using syndic and user auth. (CVE-2022-22941) - Added: * patch_for_cve_bsc1197417.patch- Fix inspector module export function (bsc#1097531) - Add all ssh kwargs to sanitize_kwargs method - Wipe NOTIFY_SOCKET from env in cmdmod (bsc#1193357) - Don't check for cached pillar errors on state.apply (bsc#1190781) - Simplify "transactional_update" module to not use SSH wrapper and allow more flexible execution - Add "--no-return-event" option to salt-call to prevent sending return event back to master. - Make "state.highstate" to acts on concurrent flag. - Added: * state.apply-don-t-check-for-cached-pillar-errors.patch * add-all-ssh-kwargs-to-sanitize_kwargs-method-3002.2-.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch * vendor-stateresult.patch * fix-inspector-module-export-function-bsc-1097531-480.patch * refactor-and-improvements-for-transactional-updates-.patch- Use dnfnotify instead yumnotify for relevant distros - Remove wrong _parse_cpe_name from grains.core - dnfnotify pkgset plugin implementation - Add rpm_vercmp python library support for version comparison - Prevent pkg plugins errors on missing cookie path (bsc#1186738) - Fix ip6_interface grain to not leak secondary IPv4 aliases (bsc#1191412) - Make "salt-api" package to require python3-cherrypy on RHEL systems - tar is required by minion on transactional-update system - Do not consider skipped targets as failed for ansible.playbooks state (bsc#1190446) - Fix traceback.*_exc() calls - Added: * mock-ip_addrs-in-utils-minions.py-unit-test-444.patch * remove-wrong-_parse_cpe_name-from-grains.core-452.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * 3002.2-do-not-consider-skipped-targets-as-failed-for.patch * fix-the-regression-for-yumnotify-plugin-456.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * fix-traceback.-_exc-calls-429.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch- Support querying for JSON data in external sql pillar - Exclude the full path of a download URL to prevent injection of malicious code (bsc#1190265) (CVE-2021-21996) - Added: * 3002.2-postgresql-json-support-in-pillar-424.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch- Fix wrong relative paths resolution with Jinja renderer when importing subdirectories - Don't pass shell="/sbin/nologin" to onlyif/unless checks (bsc#1188259) - Add missing aarch64 to rpm package architectures - Backport of upstream PR#59492 - Fix failing unit test for systemd - Fix error handling in openscap module (bsc#1188647) - Better handling of bad public keys from minions (bsc#1189040) - Define license macro as doc in spec file if not existing - Add standalone formulas configuration for salt minion and remove salt-master requirement (bsc#1168327) - Added: * fix-failing-unit-tests-for-systemd.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * templates-move-the-globals-up-to-the-environment-jin.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * backport-of-upstream-pr59492-to-3002.2-404.patch- Do noop for services states when running systemd in offline mode (bsc#1187787) - transactional_updates: do not execute states in parallel but use a queue (bsc#1188170) - Handle "master tops" data when states are applied by "transactional_update" (bsc#1187787) - Enhance openscap module: add "xccdf_eval" call - virt: pass emulator when getting domain capabilities from libvirt - Adding preliminary support for Rocky Linux - Implementation of held/unheld functions for state pkg (bsc#1187813) - Replace deprecated Thread.isAlive() with Thread.is_alive() - Fix exception in yumpkg.remove for not installed package - Fix save for iptables state module (bsc#1185131) - virt: use /dev/kvm to detect KVM - zypperpkg: improve logic for handling vendorchange flags - Add bundled provides for tornado to the spec file - Enhance logging when inotify beacon is missing pyinotify (bsc#1186310) - Add "python3-pyinotify" as a recommended package for Salt in SUSE/OpenSUSE distros - Fix tmpfiles.d configuration for salt to not use legacy paths (bsc#1173103) - Detect Python version to use inside container (bsc#1167586) (bsc#1164192) - Handle volumes on stopped pools in virt.vm_info (bsc#1186287) - grains.extra: support old non-intel kernels (bsc#1180650) - Fix missing minion returns in batch mode (bsc#1184659) - Parsing Epoch out of version provided during pkg remove (bsc#1173692) - Added: * fix-save-for-iptables-state-module-bsc-1185131-372.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * backport-thread.is_alive-fix-390.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * implementation-of-held-unheld-functions-for-state-pk.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * move-vendor-change-logic-to-zypper-class-355.patch * virt-pass-emulator-when-getting-domain-capabilities-.patch * do-noop-for-services-states-when-running-systemd-in-.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-missing-minion-returns-in-batch-mode-360.patch * figure-out-python-interpreter-to-use-inside-containe.patch * handle-master-tops-data-when-states-are-applied-by-t.patch- Check if dpkgnotify is executable (bsc#1186674) - Added: * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch- Drop support for Python2. Obsoletes "python2-salt" package (jsc#SLE-18033) - Fix issue parsing errors in ansiblegate state module - Prevent command injection in the snapper module (bsc#1185281) (CVE-2021-31607) - transactional_update: detect recursion in the executor - Add subpackage salt-transactional-update (jsc#SLE-18028) - Remove duplicate directories - Added: * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * transactional_update-detect-recursion-in-the-executo.patch- Improvements on "ansiblegate" module (bsc#1185092): * New methods: ansible.targets / ansible.discover_playbooks * General bugfixes - Added: * improvements-on-ansiblegate-module-354.patch- Regression fix of salt-ssh on processing some targets - Add support for Alibaba Cloud Linux 2 (Aliyun Linux) - Update target fix for salt-ssh to process targets list (bsc#1179831) - Add notify beacon for Debian/Ubuntu systems - Add core grains support for AlmaLinux and Alibaba Could Linux - Allow vendor change option with zypper - Added: * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * allow-vendor-change-option-with-zypper-313.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch- virt.network_update: handle missing ipv4 netmask attribute - Set distro requirement to oldest supported version in requirements/base.txt - Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules (bsc#1177474) - Don't require python3-certifi - Fix race conditions for corner cases when handling SIGTERM by minion (bsc#1172110) - Added: * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch- Allow extra_filerefs as sanitized kwargs for SSH client - Fix regression on cmd.run when passing tuples as cmd (bsc#1182740) - Fix for multiple for security issues (CVE-2020-28243) (CVE-2020-28972) (CVE-2020-35662) (CVE-2021-3148) (CVE-2021-3144) (CVE-2021-25281) (CVE-2021-25282) (CVE-2021-25283) (CVE-2021-25284) (CVE-2021-3197) (bsc#1181550) (bsc#1181556) (bsc#1181557) (bsc#1181558) (bsc#1181559) (bsc#1181560) (bsc#1181561) (bsc#1181562) (bsc#1181563) (bsc#1181564) (bsc#1181565) - Implementation of suse_ip execution module to prevent issues with network.managed (bsc#1099976) - Add sleep on exception handling on minion connection attempt to the master (bsc#1174855) - Allows for the VMware provider to handle CPU and memory hot-add in newer versions of the software. (bsc#1181347) - Always require python-certifi (used by salt.ext.tornado) - Bring missing part of async batch implementation back (bsc#1182382) (CVE-2021-25315) - Always require python3-distro (bsc#1182293) - Added: * async-batch-implementation-fix-320.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * fix-for-some-cves-bsc1181550.patch * fixes-56144-to-enable-hotadd-profile-support.patch * add-sleep-on-exception-handling-on-minion-connection.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch- virt: search for grub.xen path - Xen spicevmc, DNS SRV records backports: Fix virtual network generated DNS XML for SRV records Don't add spicevmc channel to xen VMs - virt UEFI fix: virt.update when efi=True - Do not crash when unexpected cmd output at listing patches (bsc#1181290) - Fix behavior for "onlyif/unless" when multiple conditions (bsc#1180818) - Added: * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * open-suse-3002.2-xen-grub-316.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * virt-uefi-fix-backport-312.patch- Remove deprecated warning that breaks minion execution when "server_id_use_crc" opts is missing - Added: * remove-deprecated-warning-that-breaks-miniion-execut.patch- Revert wrong zypper patch to support vendorchanges flags on pkg.install - Added: * revert-add-patch-support-for-allow-vendor-change-opt.patch- Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Fix for file.check_perms to work with numeric uid/gid - Added: * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.patch- virt: more network support Add more network and PCI/USB host devices passthrough support to virt module and states - Bigvm backports virt consoles, CPU tuning and topology, and memory tuning. - Fix pkg states when DEB package has "all" arch - Added: * open-suse-3002.2-virt-network-311.patch * open-suse-3002.2-bigvm-310.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch- Update to Salt release version 3002.2 - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3002.2.html - Do not force beacons configuration to be a list. Revert https://github.com/saltstack/salt/pull/58655 - Drop wrong virt capabilities code after rebasing patches - Remove msgpack < 1.0.0 from base requirements (bsc#1176293) - Added: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * fix-failing-unit-tests-for-batch-async.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * fix-async-batch-race-conditions.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * make-profiles-a-package.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-docker-logout-237.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * fall-back-to-pymysql.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fix-bsc-1065792.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fix-novendorchange-option-284.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * accumulated-changes-from-yomi-167.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * prevent-systemd-run-description-issue-when-running-a.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * debian-info_installed-compatibility-50453.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fixes-cve-2018-15750-cve-2018-15751.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * accumulated-changes-required-for-yomi-165.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * reintroducing-reverted-changes.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * changed-imports-to-vendored-tornado.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * fix-batch_async-obsolete-test.patch * xen-disk-fixes-264.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * adds-explicit-type-cast-for-port.patch * remove-vendored-backports-abc-from-requirements.patch * drop-wrong-mock-from-chroot-unit-test.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * loop-fix-variable-names-for-until_no_eval.patch * fix-for-suse-expanded-support-detection.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * run-salt-api-as-user-salt-bsc-1064520.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fix-unit-test-for-grains-core.patch * add-custom-suse-capabilities-as-grains.patch * transactional_update-unify-with-chroot.call.patch * x509-fixes-111.patch * fix-ipv6-scope-bsc-1108557.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * add-standalone-configuration-file-for-enabling-packa.patch * support-config-non-root-permission-issues-fixes-u-50.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * fixing-streamclosed-issue.patch * early-feature-support-config.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * switch-firewalld-state-to-use-change_interface.patch * xfs-do-not-fails-if-type-is-not-present.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * fix-unit-tests-for-batch-async-after-refactor.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-virt.all_capabilities.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * activate-all-beacons-sources-config-pillar-grains.patch * integration-of-msi-authentication-with-azurearm-clou.patch * run-salt-master-as-dedicated-salt-user.patch * grains-master-can-read-grains.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * info_installed-works-without-status-attr-now.patch * add-saltssh-multi-version-support-across-python-inte.patch * backport-a-few-virt-prs-272.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * apply-patch-from-upstream-to-support-python-3.8.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * fix-async-batch-multiple-done-events.patch * include-aliases-in-the-fqdns-grains.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * backport-virt-patches-from-3001-256.patch * restore-default-behaviour-of-pkg-list-return.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * opensuse-3000-virt-defined-states-222.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-a-test-and-some-variable-names-229.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * sanitize-grains-loaded-from-roster_grains.json.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * fix-virt.update-with-cpu-defined-263.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-for-log-checking-in-x509-test.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * re-adding-function-to-test-for-root.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * fix-issue-2068-test.patch * python3.8-compatibility-pr-s-235.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Removed: * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * use-full-option-name-instead-of-undocumented-abbrevi.patch * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-pkg.services_need_restart-302.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch * msgpack-support-versions-1.0.0.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * decide-if-the-source-should-be-actually-skipped.patch * loader-invalidate-the-import-cachefor-extra-modules.patch * opensuse-3000.3-bigvm-backports-303.patch * add-missing-_utils-at-loader-grains_func.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-ip-filtering-by-network.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-type-error-in-tornadoimporter.patch * fix-regression-in-service-states-with-reload-argumen.patch * revert-changes-to-slspath-saltstack-salt-56341.patch - Renamed: * support-transactional-systems-microos-268.patch - > support-transactional-systems-microos-271.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch - > zypperpkg-filter-patterns-that-start-with-dot-244.patch * opensuse-3000-libvirt-engine-fixes-248.patch - > opensuse-3000-libvirt-engine-fixes-251.patch * opensuse-3000.2-virt-backports-236.patch - > opensuse-3000.2-virt-backports-236-257.patch * pkgrepo-support-python-2.7-function-call-294.patch - > pkgrepo-support-python-2.7-function-call-295.patch * fix-__mount_device-wrapper-253.patch - > fix-__mount_device-wrapper-254.patch * fix-grains.test_core-unit-test-276.patch - > fix-grains.test_core-unit-test-277.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch - > opensuse-3000.3-spacewalk-runner-parse-command-250.patch- Adjusted python2-cherrypy naming in salt-api. (#40) - Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Bigvm backports - virt consoles, CPU tuning and topology, and memory tuning. - Fix for file.check_perms to work with numeric uid/gid - change 'Requires(pre)' to 'Requires' for salt-minion package (bsc#1083110) - Added: * opensuse-3000-bigvm-backports-300.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.patch- Fix syntax error on pkgrepo state with Python 2.7 - transactional_update: unify with chroot.call - Add "migrated" state and GPG key management functions - Master can read grains - Fix for broken psutil (bsc#1102248) - Fix novendorchange handling in zypperpkg module - Added: * add-migrated-state-and-gpg-key-management-functions-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-novendorchange-option-284.patch * grains-master-can-read-grains.patch * transactional_update-unify-with-chroot.call.patch * pkgrepo-support-python-2.7-function-call-294.patch- Avoid regression on "salt-master": set passphrase for salt-ssh keys to empty string (bsc#1178485) - Added: * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch- Properly validate eauth credentials and tokens on SSH calls made by Salt API (bsc#1178319) (bsc#1178362) (bsc#1178361) (CVE-2020-25592) (CVE-2020-17490) (CVE-2020-16846) - Added: * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch- Fix disk.blkid to avoid unexpected keyword argument '__pub_user' (bsc#1177867) - Ensure virt.update stop_on_reboot is updated with its default value - Do not break package building for systemd OSes - Drop wrong mock from chroot unit test - Support systemd versions with dot (bsc#1176294) - Fix for grains.test_core unit test - Fix file/directory user and group ownership containing UTF-8 characters (bsc#1176024) - Several changes to virtualization: - - Fix virt update when cpu and memory are changed - - Memory Tuning GSoC - - Properly fix memory setting regression in virt.update - - Expose libvirt on_reboot in virt states - Support transactional systems (MicroOS) - zypperpkg module ignores retcode 104 for search() (bsc#1159670) - Xen disk fixes. No longer generates volumes for Xen disks, but the corresponding file or block disk (bsc#1175987) - Invalidate file list cache when cache file modified time is in the future (bsc#1176397) - Prevent import errors when running test_btrfs unit tests - Added: * drop-wrong-mock-from-chroot-unit-test.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * support-transactional-systems-microos-268.patch * xen-disk-fixes-264.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * backport-a-few-virt-prs-272.patch * fix-grains.test_core-unit-test-276.patch- Fix virt.update with CPU defined - Fix virt issues and invalid input errors from 'salt.utils.data' (bsc#1176480) - Reintroduces the patches from opensuse-3000.2-virt-backports-236.patch coming from Salt 3001 - Do not raise StreamClosedError traceback but only log it (bsc#1175549) - Various fixes to the mysql module to break out the handling of user - Take care of failed, skipped and unreachable tasks and propagate "retcode" (bsc#1173911) (bsc#1173909) - Added: * do-not-raise-streamclosederror-traceback-but-only-lo.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * backport-virt-patches-from-3001-256.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * fix-virt.update-with-cpu-defined-263.patch- Require /usr/bin/python instead of /bin/python for RHEL-family (bsc#1173936) - Don't install SuSEfirewall2 service files in Factory - Fix __mount_device wrapper to accept separate args and kwargs - Fix the registration of libvirt pool and nodedev events - Accept nested namespaces in spacewalk.api runner function. (bsc#1172211) - info_installed works without status attr now (bsc#1171461) - Added: * info_installed-works-without-status-attr-now.patch * fix-__mount_device-wrapper-253.patch * opensuse-3000-libvirt-engine-fixes-248.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch- Fix for TypeError in Tornado importer (bsc#1174165) - Added: * fix-type-error-in-tornadoimporter.patch- Require python3-distro only for TW (bsc#1173072)- Various virt backports from 3000.2 - Added: * opensuse-3000.2-virt-backports-236.patch- Avoid traceback on debug logging for swarm module (bsc#1172075) - Add publish_batch to ClearFuncs exposed methods - zypperpkg: filter patterns that start with dot (bsc#1171906) - Batch mode now also correctly provides return value (bsc#1168340) - Add docker.logout to docker execution module (bsc#1165572) - Testsuite fix - Add option to enable/disable force refresh for zypper - Python3.8 compatibility changes - Prevent sporious "salt-api" stuck processes when managing SSH minions because of logging deadlock (bsc#1159284) - Avoid segfault from "salt-api" under certain conditions of heavy load managing SSH minions (bsc#1169604) - Revert broken changes to slspath made on Salt 3000 (saltstack/salt#56341) (bsc#1170104) - Returns a the list of IPs filtered by the optional network list - Added: * option-to-en-disable-force-refresh-in-zypper-215.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * revert-changes-to-slspath-saltstack-salt-56341.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * add-docker-logout-237.patch * add-ip-filtering-by-network.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * python3.8-compatibility-pr-s-235.patch * fix-a-test-and-some-variable-names-229.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch- Fix CVE-2020-11651 and CVE-2020-11652 (bsc#1170595) - Do not require vendored backports-abc (bsc#1170288) - Fix partition.mkpart to work without fstype (bsc#1169800) - Added: * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * remove-vendored-backports-abc-from-requirements.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch- Update to Salt version 3000 See release notes: https://docs.saltstack.com/en/latest/topics/releases/3000.html - Do not make file.recurse state to fail when msgpack 0.5.4 (bsc#1167437) - Fixes status attribute issue in aptpkg test - Make setup.py script not to require setuptools greater than 9.1 loop: fix variable names for until_no_eval - Drop conflictive module.run state patch (bsc#1167437) - Update patches after rebase with upstream v3000 tag (bsc#1167437) - Fix some requirements issues depending on Python3 versions - Removes obsolete patch - Fix for low rpm_lowpkg unit test - Add python-singledispatch as dependency for python2-salt - Fix for temp folder definition in loader unit test - Make "salt.ext.tornado.gen" to use "salt.ext.backports_abc" on Python 2 - Fix regression in service states with reload argument - Fix integration test failure for test_mod_del_repo_multiline_values - Fix for unless requisite when pip is not installed - Fix errors from unit tests due NO_MOCK and NO_MOCK_REASON deprecation - Fix tornado imports and missing _utils after rebasing patches - Removes unresolved merge conflict in yumpkg module - Added: * make-setup.py-script-to-not-require-setuptools-9.1.patch * opensuse-3000-virt-defined-states-222.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * fix-regression-in-service-states-with-reload-argumen.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * loop-fix-variable-names-for-until_no_eval.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-missing-_utils-at-loader-grains_func.patch * changed-imports-to-vendored-tornado.patch * sanitize-grains-loaded-from-roster_grains.json.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * reintroducing-reverted-changes.patch * adds-explicit-type-cast-for-port.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * re-adding-function-to-test-for-root.patch - Modified: * move-server_id-deprecation-warning-to-reduce-log-spa.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * add-all_versions-parameter-to-include-all-installed-.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fix-for-log-checking-in-x509-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * fix-bsc-1065792.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fixes-cve-2018-15750-cve-2018-15751.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * integration-of-msi-authentication-with-azurearm-clou.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-unit-test-for-grains-core.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * debian-info_installed-compatibility-50453.patch * include-aliases-in-the-fqdns-grains.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-async-batch-multiple-done-events.patch * support-config-non-root-permission-issues-fixes-u-50.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * activate-all-beacons-sources-config-pillar-grains.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * use-adler32-algorithm-to-compute-string-checksums.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-batch_async-obsolete-test.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * fall-back-to-pymysql.patch * xfs-do-not-fails-if-type-is-not-present.patch * restore-default-behaviour-of-pkg-list-return.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * run-salt-api-as-user-salt-bsc-1064520.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixing-streamclosed-issue.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * fix-async-batch-race-conditions.patch * fix-issue-2068-test.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * fix-for-suse-expanded-support-detection.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-standalone-configuration-file-for-enabling-packa.patch * switch-firewalld-state-to-use-change_interface.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * add-custom-suse-capabilities-as-grains.patch * accumulated-changes-from-yomi-167.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * add-saltssh-multi-version-support-across-python-inte.patch * early-feature-support-config.patch * add-virt.all_capabilities.patch * accumulated-changes-required-for-yomi-165.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * fix-ipv6-scope-bsc-1108557.patch * prevent-systemd-run-description-issue-when-running-a.patch * make-profiles-a-package.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * x509-fixes-111.patch * do-not-report-patches-as-installed-when-not-all-the-.patch - Removed: * remove-virt.pool_delete-fast-parameter-178.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * align-virt-full-info-fixes-with-upstream-192.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * virt-1.volume_infos-fix-for-single-vm.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * preserve-already-defined-destructive_tests-and-expen.patch * list_downloaded-for-apt-module.patch * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch * virt.volume_infos-fix-for-single-vm.patch * restrict-the-start_event_grains-only-to-the-start-ev.patch * fix-virt.full_info-176.patch * preserving-signature-in-module.run-state-u-50049.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * add-virt.volume_infos-and-virt.volume_delete.patch * add-virt.network_get_xml-function.patch * virt.network_define-allow-adding-ip-configuration.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-for-older-mock-module.patch * fix-virt.get_hypervisor-188.patch * 2019.2.0-pr-54196-backport-173.patch * enable-passing-grains-to-start-event-based-on-start_.patch * fix-load-cached-grain-osrelease_info.patch * open-suse-2019.2.3-virt-defined-states-219.patch * backport-saltutil-state-module-to-2019.2-codebase.patch- Enable building and installation for Fedora - Disable python2 build on Tumbleweed We are removing the python2 interpreter from openSUSE (SLE16). As such disable salt building for python2 there.- Sanitize grains loaded from roster_grains.json cache during "state.pkg" - Added: * fix-load-cached-grain-osrelease_info.patch- Build: Buildequire pkgconfig(systemd) instead of systemd- Backport saltutil state module to 2019.2 codebase (bsc#1167556) - Add new custom SUSE capability for saltutil state module - Added: * backport-saltutil-state-module-to-2019.2-codebase.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch- virt._get_domain: don't raise an exception if there is no VM - Added: * virt._get_domain-don-t-raise-an-exception-if-there-i.patch- Adds test for zypper abbreviation fix - Improved storage pool or network handling - Better import cache handline - Added: * loader-invalidate-the-import-cachefor-extra-modules.patch * open-suse-2019.2.3-virt-defined-states-219.patch - Modified: * use-full-option-name-instead-of-undocumented-abbrevi.patch- Use full option name instead of undocumented abbreviation for zypper - Requiring python3-distro only for openSUSE/SLE >= 15 - Added: * use-full-option-name-instead-of-undocumented-abbrevi.patch- python-distro is only needed for > Python 3.7. Removing it for Python 2- Avoid possible user escalation upgrading salt-master (bsc#1157465) (CVE-2019-18897)- Fix unit tests failures in test_batch_async tests - Added: * fix-unit-tests-for-batch-async-after-refactor.patch- Batch Async: Handle exceptions, properly unregister and close instances after running async batching to avoid CPU starvation of the MWorkers (bsc#1162327) - RHEL/CentOS 8 uses platform-python instead of python3 - Enable build for Python 3.8 - Added: * batch_async-avoid-using-fnmatch-to-match-event-217.patch * apply-patch-from-upstream-to-support-python-3.8.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch- Fix 'os_family' grain for Astra Linux Common Edition - Added: * add-astra-linux-common-edition-to-the-os-family-list.patch- Update to Salt version 2019.2.3 (CVE-2019-17361) (bsc#1163981) (bsc#1162504) See release notes: https://docs.saltstack.com/en/latest/topics/releases/2019.2.3.html - Modified: * use-adler32-algorithm-to-compute-string-checksums.patch- Enable passing grains to start event based on 'start_event_grains' configuration parameter - Added: * restrict-the-start_event_grains-only-to-the-start-ev.patch * enable-passing-grains-to-start-event-based-on-start_.patch- Support for Btrfs and XFS in parted and mkfs added - Added: * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch- Adds list_downloaded for apt Module to enable pre-downloading support - Adds virt.(pool|network)_get_xml functions - Various libvirt updates * Add virt.pool_capabilities function * virt.pool_running improvements * Add virt.pool_deleted state * virt.network_define allow adding IP configuration - Added: * virt.network_define-allow-adding-ip-configuration.patch * list_downloaded-for-apt-module.patch * add-virt.network_get_xml-function.patch- virt: adding kernel boot parameters to libvirt xml - Added: * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch- Fix virt states to not fail on VMs already stopped - Added: * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch- Add missing bugzilla references: Properly handle colons in inline dicts with yamlloader (bsc#1095651) Fix corrupt public key with m2crypto python3 (bsc#1099323) Add missing dateutils import (bsc#1099945) Fix UnicodeDecodeError using is_binary check (bsc#1100225) Prevent payload crash on decoding binary data (bsc#1100697) Fix file.blockreplace to avoid throwing IndexError (bsc#1101812) Add API log rotation on SUSE package (bsc#1102218) Fix wrong recurse behavior on for linux_acl.present (bsc#1106164) Handle anycast IPv6 addresses on network.routes (bsc#1114474) Crontab module fix: file attributes option missing (bsc#1114824) Add metadata to accepted keyword arguments (bsc#1122680) Bugfix: properly refresh pillars (bsc#1125015)- xfs: do not fail if type is not present (bsc#1153611) - Added: * xfs-do-not-fails-if-type-is-not-present.patch- Don't use __python indirection macros on spec file %__python is no longer defined in RPM 4.15 (python2 is going EOL in Jan 2020); additionally, python/python3 are just binaries in the path.- Fix errors when running virt.get_hypervisor function - Added: * fix-virt.get_hypervisor-188.patch- Align virt.full_info fixes with upstream Salt - Let salt-ssh use platform-python on RHEL8 (bsc#1158441) - Added: * align-virt-full-info-fixes-with-upstream-192.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch- Fix StreamClosedError issue (bsc#1157479) - Added: * fix-batch_async-obsolete-test.patch * fixing-streamclosed-issue.patch- Prevent test_mod_del_repo_multiline_values to fail - Read repo info without using interpolation (bsc#1135656) - Requires vs BuildRequires - Limiting M2Crypto to >= SLE15 - Replacing pycrypto with M2Crypto (bsc#1165425) - Fix for log checking in x509 test - Update to 2019.2.2 release - Added: * fix-for-log-checking-in-x509-test.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * read-repo-info-without-using-interpolation-bsc-11356.patch - Modified: * async-batch-implementation.patch * add-hold-unhold-functions.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-unit-test-for-grains-core.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-async-batch-multiple-done-events.patch * activate-all-beacons-sources-config-pillar-grains.patch * fix-for-older-mock-module.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fall-back-to-pymysql.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-virt.volume_infos-and-virt.volume_delete.patch * fix-issue-2068-test.patch * switch-firewalld-state-to-use-change_interface.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * fix-ipv6-scope-bsc-1108557.patch * 2019.2.0-pr-54196-backport-173.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * x509-fixes-111.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * preserve-already-defined-destructive_tests-and-expen.patch * virt.volume_infos-fix-for-single-vm.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * include-aliases-in-the-fqdns-grains.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-custom-suse-capabilities-as-grains.patch * get-os_arch-also-without-rpm-package-installed.patch * add-saltssh-multi-version-support-across-python-inte.patch * accumulated-changes-required-for-yomi-165.patch * use-adler32-algorithm-to-compute-string-checksums.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * remove-virt.pool_delete-fast-parameter-178.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * prevent-systemd-run-description-issue-when-running-a.patch * integration-of-msi-authentication-with-azurearm-clou.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * virt-1.volume_infos-fix-for-single-vm.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * preserving-signature-in-module.run-state-u-50049.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * debian-info_installed-compatibility-50453.patch * add-standalone-configuration-file-for-enabling-packa.patch * accumulated-changes-from-yomi-167.patch * add-virt.all_capabilities.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * support-config-non-root-permission-issues-fixes-u-50.patch * add-all_versions-parameter-to-include-all-installed-.patch * fixes-cve-2018-15750-cve-2018-15751.patch * fix-bsc-1065792.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * restore-default-behaviour-of-pkg-list-return.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * early-feature-support-config.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-virt.full_info-176.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * fix-for-suse-expanded-support-detection.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * make-profiles-a-package.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fix-async-batch-race-conditions.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch - Removed: * fix-syndic-start-issue.patch * prevent-already-reading-continuous-exception-message.patch * virt.pool_running-fix-pool-start.patch * azurefs-gracefully-handle-attributeerror.patch * virt-handle-whitespaces-in-vm-names.patch * mount-fix-extra-t-parameter.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- Remove virt.pool_delete fast parameter (U#54474) - Added: * remove-virt.pool_delete-fast-parameter-178.patch- Remove unnecessary yield causing BadYieldError (bsc#1154620) - Added: * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch- Prevent 'Already reading' continuous exception message (bsc#1137642) - Added: * prevent-already-reading-continuous-exception-message.patch- Fix for aptpkg test with older mock modules - Added: * fix-for-older-mock-module.patch- Remove wrong tests for core grain and improve debug logging - Use rich RPM deps to get a compatible version of tornado into the buildroot. - Added: * fix-a-wrong-rebase-in-test_core.py-180.patch- core.py: ignore wrong product_name files - zypperpkg: understand product type - Added: * accumulated-changes-from-yomi-167.patch- Enable usage of downloadonly parameter for apt module - Added: * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch- Add missing 'fun' on events coming from salt-ssh wfunc executions (bsc#1151947) - Added: * add-missing-fun-for-returns-from-wfunc-executions.patch- Fix failing unit tests for batch async - Added: * fix-failing-unit-tests-for-batch-async.patch- Fix memory consumption problem on BatchAsync (bsc#1137642) - Added: * use-current-ioloop-for-the-localclient-instance-of-b.patch- Fix dependencies for RHEL 8- Prevent systemd-run description issue when running aptpkg (bsc#1152366) - Added: * prevent-systemd-run-description-issue-when-running-a.patch- Take checksums arg into account for postgres.datadir_init (bsc#1151650) - Added: * take-checksums-arg-into-account-for-postgres.datadir.patch- Improve batch_async to release consumed memory (bsc#1140912) - Fix memory leak produced by batch async find_jobs mechanism (bsc#1140912) - Grant read and execute permission to others (bsc#1150447) - Added: * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch- Require shadow instead of old pwdutils (bsc#1130588)- Conflict with tornado >= 5; for now we can only cope with Tornado 4.x (boo#1101780).- Fix virt.full_info (bsc#1146382) - virt.volume_infos: silence libvirt error message - virt.volume_infos needs to ignore inactive pools - Fix for various bugs in virt network and pool states - Implement network.fqdns module function (bsc#1134860) - Added: * 2019.2.0-pr-54196-backport-173.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * fix-virt.full_info-176.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch- Restore default behaviour of pkg list return (bsc#1148714) - Strip trailing "/" from repo.uri when comparing repos in apktpkg.mod_repo (bsc#1146192) - Added: * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * restore-default-behaviour-of-pkg-list-return.patch- Use python3 to build package Salt for RHEL8 - Make python3 default for RHEL8- Fix aptpkg systemd call (bsc#1143301) - Added: * fix-aptpkg-systemd-call-bsc-1143301.patch- Move server_id deprecation warning to reduce log spamming (bsc#1135567) (bsc#1135732) - Added: * move-server_id-deprecation-warning-to-reduce-log-spa.patch- Multiple fixes on cmdmod, chroot, freezer and zypperpkg needed for Yomi cmdmod: fix runas and group in run_chroot chroot: add missing sys directory chroot: change variable name to root chroot: fix bug in safe_kwargs iteration freezer: do not fail in cache dir is present freezer: clean freeze YAML profile on restore zypperpkg: fix pkg.list_pkgs cache - Added: * accumulated-changes-required-for-yomi-165.patch- Avoid traceback on http.query when there are errors with the requested URL (bsc#1128554) - Added: * avoid-traceback-when-http.query-request-cannot-be-pe.patch- Salt python client get_full_returns seems return data from incorrect jid (bsc#1131114) - Added: * checking-for-jid-before-returning-data.patch- virt.volume_infos: don't raise an error if there is no VM - Added: * virt-1.volume_infos-fix-for-single-vm.patch- Prevent ansiblegate unit tests to fail on Ubuntu - Added: * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch- Allow passing kwargs to pkg.list_downloaded for Zypper (bsc#1140193) - Added: * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch- Do not make "ansiblegate" module to crash on Python3 minions (bsc#1139761) - Added: * do-not-make-ansiblegate-to-crash-on-python3-minions.patch- Provide the missing features required for Yomi (Yet one more installer) - Added: * provide-the-missing-features-required-for-yomi-yet-o.patch- Fix zypper pkg.list_pkgs test expectation and dpkg mocking - Added: * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch- Set 'salt' group for files and directories created by salt-standalone-formulas-configuration package - Various fixes for virt module - Fix virt.volume_infos raising an exception when there is only virtual machine on the minion. - Fix virt.purge() on all non-KVM hypervisors. For instance on Xen, virt.purge would simply throw an exception about unsupported flag - Building a libvirt pool starts it. When defining a new pool, we need to let build start it or we will get libvirt errors. - Fix handling of Virtual Machines with white space in their name. - Added: * virt.pool_running-fix-pool-start.patch * virt-handle-whitespaces-in-vm-names.patch * virt.volume_infos-fix-for-single-vm.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- avoid batch.py exception when minion does not respond (bsc#1135507) - Added: * batch.py-avoid-exception-when-minion-does-not-respon.patch- Preserve already defined DESTRUCTIVE_TESTS and EXPENSIVE_TESTS env variables - Added: * preserve-already-defined-destructive_tests-and-expen.patch- Do not break repo files with multiple line values on yumpkg (bsc#1135360) - Added: * do-not-break-repo-files-with-multiple-line-values-on.patch- Fix return status when installing or updating RPM packages with "ppc64le" arch (bsc#1133647) - Added: * add-ppc64le-as-a-valid-rpm-package-architecture.patch- Add new "salt-standalone-formulas-configuration" package (fate#327791) - Added: * add-standalone-configuration-file-for-enabling-packa.patch- Switch firewalld state to use change_interface (bsc#1132076) - Added: * switch-firewalld-state-to-use-change_interface.patch- Fix async-batch to fire a single done event - Added: * fix-async-batch-multiple-done-events.patch- Do not make Salt CLI to crash when there are IPv6 established connections (bsc#1130784) - Added: * do-not-crash-when-there-are-ipv6-established-connect.patch- Include aliases in FQDNS grain (bsc#1121439)- Fix issue preventing syndic to start - Update year on spec copyright notice - Added: * fix-syndic-start-issue.patch- Use ThreadPool from multiprocessing.pool to avoid leakings when calculating FQDNs - Do not report patches as installed on RHEL systems when not all the related packages are installed (bsc#1128061) - Added: * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * do-not-report-patches-as-installed-when-not-all-the-.patch- Update to 2019.2.0 complete (FATE#327138, bsc#1133523) - Fix batch/batch-async related issues - Calculate FQDNs in parallel to avoid blockings (bsc#1129079) - Incorporate virt.volume_info fixes (PR#131) - Re-adds patch because of increased offset due to previous patch removal - Removing patch to add root parameter to zypper module - Fix for -t parameter in mount module - Added: * mount-fix-extra-t-parameter.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * fix-async-batch-race-conditions.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch - Modified: * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-virt.volume_infos-and-virt.volume_delete.patch - Removed: * zypper-add-root-configuration-parameter.patch- No longer limiting Python3 version to <3.7- Async batch implementation - Added: * async-batch-implementation.patch- Update to Salt 2019.2.0 release For further information see: https://docs.saltstack.com/en/latest/topics/releases/2019.2.0.html - Added: * add-virt.all_capabilities.patch * add-virt.volume_infos-and-virt.volume_delete.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * include-aliases-in-the-fqdns-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch - Removed: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-engine-relaying-libvirt-events.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * add-support-for-python-3.7.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * change-stringio-import-in-python2-to-import-the-clas.patch * decode-file-contents-for-python2-bsc-1102013.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch * feat-add-grain-for-all-fqdns.patch * fix-async-call-to-process-manager.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-index-error-when-running-on-python-3.patch * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * fix-unboundlocalerror-in-file.get_diff.patch * fixed-usage-of-ipaddress.patch * fixing-issue-when-a-valid-token-is-generated-even-wh.patch * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * improved-handling-of-ldap-group-id.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * prepend-current-directory-when-path-is-just-filename.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * retire-md5-checksum-for-pkg-mgmt-plugins.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch * support-use-of-gce-instance-credentials-109.patch * update-error-list-for-zypper.patch * x509-fixes-for-remote-signing-106.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-hold-unhold-functions.patch * add-saltssh-multi-version-support-across-python-inte.patch * azurefs-gracefully-handle-attributeerror.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * debian-info_installed-compatibility-50453.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fall-back-to-pymysql.patch * fix-for-suse-expanded-support-detection.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-ipv6-scope-bsc-1108557.patch * fix-issue-2068-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fixes-cve-2018-15750-cve-2018-15751.patch * get-os_arch-also-without-rpm-package-installed.patch * integration-of-msi-authentication-with-azurearm-clou.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-adler32-algorithm-to-compute-string-checksums.patch * x509-fixes-111.patch * zypper-add-root-configuration-parameter.patch- Add root parameter to Zypper module - Added: * zypper-add-root-configuration-parameter.patch- Do not restrict the Python version to < 3.7- Fix integration tests in state compiler (U#2068) - Added: * fix-issue-2068-test.patch- Fix "pkg.list_pkgs" output when using "attr" to take the arch into account (bsc#1114029) - Added: * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch- Fix powerpc null server_id_arch (bsc#1117995) - Added: * return-the-expected-powerpc-os-arch-bsc-1117995.patch- Fix module 'azure.storage' has no attribute '__version__' (bsc#1121091) - Added: * azurefs-gracefully-handle-attributeerror.patch- Add supportconfig module and states for minions and SaltSSH - Added: * add-supportconfig-module-for-remote-calls-and-saltss.patch- Fix FIPS enabled RES clients (bsc#1099887) - Added: * retire-md5-checksum-for-pkg-mgmt-plugins.patch- Add hold/unhold functions. Fix Debian repo "signed-by". - Added: * decide-if-the-source-should-be-actually-skipped.patch * add-hold-unhold-functions.patch- Fix latin1 encoding problems on file module (bsc#1116837) - Added: * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch- Don't error on retcode 0 in libcrypto.OPENSSL_init_crypto - Added: * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch- Debian info_installed compatibility (U#50453) - Added: * debian-info_installed-compatibility-50453.patch- Add compatibility with other package modules for "list_repos" function - Bugfix: unable to detect os arch when RPM is not installed (bsc#1114197) - Added: * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * get-os_arch-also-without-rpm-package-installed.patch- Fix git_pillar merging across multiple __env__ repositories (bsc#1112874) - Added: * fix-git_pillar-merging-across-multiple-__env__-repos.patch- Fix LDAP authentication issue when a valid token is generated by the salt-api even when invalid user credentials are passed. (U#48901) - Added: * fixing-issue-when-a-valid-token-is-generated-even-wh.patch- Improved handling of LDAP group id. gid is no longer treated as a string, which could have lead to faulty group creations. (bsc#1113784) - Added: * improved-handling-of-ldap-group-id.patch- Fix remote command execution and incorrect access control when using salt-api. (bsc#1113699) (CVE-2018-15751) - Fix Directory traversal vulnerability when using salt-api. Allows an attacker to determine what files exist on a server when querying /run or /events. (bsc#1113698) (CVE-2018-15750) - Added: * fixes-cve-2018-15750-cve-2018-15751.patch- Add multi-file support and globbing to the filetree (U#50018) - Added: * add-multi-file-support-and-globbing-to-the-filetree-.patch- Bugfix: supportconfig non-root permission issues (U#50095) - Added: * support-config-non-root-permission-issues-fixes-u-50.patch- Open profiles permissions to everyone for read-only- Preserving signature in "module.run" state (U#50049) - Added: * preserving-signature-in-module.run-state-u-50049.patch- Install default salt-support profiles- Fix unit tests due to merger failure - Add CPE_NAME for osversion* grain parsing - Get os_family for RPM distros from the RPM macros - Install support profiles - Added: * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * make-profiles-a-package.patch * fix-unit-test-for-grains-core.patch- Bugfix: any unicode string of length 16 will raise TypeError - Added: * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch- Fix async call to process manager (bsc#1110938) - Early feature: Salt support-config (salt-support) - Added: * fix-async-call-to-process-manager.patch * early-feature-support-config.patch- Fix IPv6 scope (bsc#1108557) - Added: * fix-ipv6-scope-bsc-1108557.patch- Handle zypper ZYPPER_EXIT_NO_REPOS exit code (bsc#1108834, bsc#1109893) - Added: * update-error-list-for-zypper.patch- Bugfix for pkg_resources crash (bsc#1104491) - Added: * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch- Fix loosen azure sdk dependencies in azurearm cloud driver (bsc#1107333) - Added: * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch- Fix broken "resolve_capabilities" on Python 3 (bsc#1108995) - Added: * fix-index-error-when-running-on-python-3.patch- Allow empty service_account_private_key in GCE driver (bsc#1108969) - Added: * support-use-of-gce-instance-credentials-109.patch- Decode file contents for python2 (bsc#1103530) - Check dmidecoder executable on each "smbios" call to avoid race condition (bsc#1101880) - Fix pkg.upgrade reports when dealing with multiversion packages (bsc#1102265) - Accounting for when files in an archive contain non-ascii characters (bsc#1099460) - Fix deprecation warning (bsc#1095507) - Fix (bsc#1065792) - Fix (bsc#108758) - Handle packages with multiple version properly with zypper (bsc#1096514) - Fix file.get_diff regression in 2018.3 (bsc#1098394) - Provide python version mismatch solutions (bsc#1072599) - Fix file.managed binary file utf8 error (bsc#1098394) - Prevent zypper from parsing repo configuration from not .repo files (bsc#1094055) - Add environment variable to know if yum is invoked from Salt (bsc#1057635) - Prevent deprecation warning with salt-ssh (bsc#1095507) - Align SUSE salt-master.service 'LimitNOFILES' limit with upstream Salt - Add 'other' attribute to GECOS fields to avoid inconsistencies with chfn - Collect all versions of installed packages on SUSE and RHEL systems (bsc#1089526)- Prepend current directory when path is just filename (bsc#1095942) - Integration of MSI authentication for azurearm - Adds fix for SUSE Expanded Support os grain detection - Fixes 509x remote signing - Fix for StringIO import in Python2 - Use Adler32 algorithm to compute string checksums (bsc#1102819) - Only do reverse DNS lookup on IPs for salt-ssh (bsc#1104154) - Add support for Python 3.7 - Fix license macro to build on SLE12SP2 - Decode file contents for python2 (bsc#1102013) - Fix for sorting of multi-version packages (bsc#1097174 and bsc#1097413) - Fix mine.get not returning data - workaround for #48020 (bsc#1100142) - Added: * change-stringio-import-in-python2-to-import-the-clas.patch * integration-of-msi-authentication-with-azurearm-clou.patch * x509-fixes-for-remote-signing-106.patch * fix-for-suse-expanded-support-detection.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * prepend-current-directory-when-path-is-just-filename.patch * add-support-for-python-3.7.patch * decode-file-contents-for-python2-bsc-1102013.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * x509-fixes-111.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Modified: * fix-for-sorting-of-multi-version-packages-bsc-109717.patch- Update to 2018.3.2 See https://docs.saltstack.com/en/latest/topics/releases/2018.3.2.html for full changelog - Added: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-all_versions-parameter-to-include-all-installed-.patch * add-custom-suse-capabilities-as-grains.patch * add-engine-relaying-libvirt-events.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-unboundlocalerror-in-file.get_diff.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-saltssh-multi-version-support-across-python-inte.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fall-back-to-pymysql.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fixed-usage-of-ipaddress.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch - Deleted: * explore-module.run-response-to-catch-the-result-in-d.patch * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * fix-cp.push-empty-file.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-openscap-push.patch * initialize-__context__-retcode-for-functions-handled.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * provide-kwargs-to-pkg_resource.parse_targets-require.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Documentation refresh to 2018.3.0- No more AWS EC2 rate limitations in salt-cloud (bsc#1088888) - MySQL returner now also allows to use Unix sockets (bsc#1091371) - Added: * fix-for-ec2-rate-limit-failures.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch- Do not override jid on returners, only sending back to master (bsc#1092373) - Fixes for salt-ssh: - Option --extra-filerefs doesn't add all files to the state archive - Pillar completely overwritten (not merged) when doing module.run + state.apply with pillar in kwargs - Remove minion/thin/version if exists to force thin regeneration (bsc#1092161) - Added: * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch- Fixed Python 3 issue with CIDR addresses. - Added: * fixed-usage-of-ipaddress.patch- Fix minion scheduler to return a 'retcode' attribute (bsc#1089112) - Fix for logging during network interface querying (bsc#1087581) - Fix rhel packages requires both net-tools and iproute (bsc#1087055) - Added: * initialize-__context__-retcode-for-functions-handled.patch - Modified: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Fix patchinstall on yum module. Bad comparison (bsc#1087278) - Added: * provide-kwargs-to-pkg_resource.parse_targets-require.patch- Strip trailing commas on Linux user's GECOS fields (bsc#1089362) - Fallback to PyMySQL (bsc#1087891) - Improved test for fqdns - Update SaltSSH patch - Fix for [Errno 0] Resolver Error 0 (no error) (bsc#1087581) * Lintfix: PEP8 ident * Use proper levels of the error handling, use proper log formatting. * Fix unit test for reversed fqdns return data - Added: * strip-trailing-commas-on-linux-user-gecos-fields.patch * fall-back-to-pymysql.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update to 2018.3.0 - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add python-2.6 support to salt-ssh - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update salt-ssh multiversion patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch - Removed: * require-same-major-version-while-minor-is-allowed-to.patch- Add iprout/net-tools dependency- salt-ssh: require same major version while minor is allowed to be - Added: * require-same-major-version-while-minor-is-allowed-to.patch - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add SaltSSH multi-version support across Python interpeters. - Added: * add-saltssh-multi-version-support-across-python-inte.patch- Fix zypper.info_installed 'ascii' issue - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update openscap push patch to include the test fixes - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch- Explore 'module.run' state module output in depth to catch "result" properly - Added: * explore-module.run-response-to-catch-the-result-in-d.patch- make it possible to use docker login, pull and push from module.run and detect errors - Added: * make-it-possible-to-use-login-pull-and-push-from-mod.patch- Fix logging with FQDNs - Added: * fix-decrease-loglevel-when-unable-to-resolve-addr.patch- Update patches - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch - Removed: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- Update cp.push patch - Modified: * fix-cp.push-empty-file.patch * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- force re-generate a new thin.tgz when an update gets installed- fix salt-ssh with a different patch - remove: dumps-should-return-unicode-also-with-py2-to-prevent.patch - added: salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Added: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Removed: * dumps-should-return-unicode-also-with-py2-to-prevent.patch- Fix unicode decode error with salt-ssh - Added: * dumps-should-return-unicode-also-with-py2-to-prevent.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Fix cp.push empty file (bsc#1075950) - salt-ssh - move log_file option to changeable defaults - Added: * fix-cp.push-empty-file.patch * move-log_file-option-to-changeable-defaults.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Daily update - Added: * fix-openscap-push.patch - Removed: * fix-grains-with-n.patch- Fix grains containing trailing "\n" - Added: * fix-grains-with-n.patch- Remove salt-minion python2 requirement when python3 is default (bsc#1081592)- Remove-obsolete-unicode-handling-in-pkg.info_installed - Added: * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update to salt-2018.1.99 - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * list_pkgs-add-parameter-for-returned-attribute-selec.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch - Deleted: * python3-compatibility-fix-got-bytes-instead-of-strin.patch * enable-with-salt-version-parameter-for-setup.py-scri.patch * catching-error-when-pidfile-cannot-be-deleted.patch * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * bugfix-the-logic-according-to-the-exact-described-pu.patch * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-salt-master-for-old-psutil.patch * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * older-logrotate-need-su-directive.patch * return-error-when-gid_from_name-and-group-does-not-e.patch * set-shell-environment-variable-64.patch * split-only-strings-if-they-are-such.patch * use-home-to-get-the-user-home-directory-instead-usin.patch * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Fix-epoch-handling-for-Rhel-6-and-7 - Modified: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Restoring-installation-of-packages-for-Rhel-6-7 Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Prevent queryformat pattern from expanding (bsc#1079048)- Fix epoch handling for Rhel 6 and 7 (bsc#1068566) - Reverting to current API for split_input - Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Fix for wrong version processing during yum pkg install (bsc#1068566) - Feat: add grain for all FQDNs (bsc#1063419) - Added: * fix-for-wrong-version-processing.patch * feat-add-grain-for-all-fqdns.patch- Fix the usage of custom macros on the spec file.- Fix RES7: different dependency names for python-PyYAML and python-MarkupSafe- Build both python2 and python3 binaries together.- Bugfix: errors in external pillar causes crash instead of report of them (bsc#1068446) - Fix 'user.present' when 'gid_from_name' is set but group does not exist. - Added: * bugfix-the-logic-according-to-the-exact-described-pu.patch * return-error-when-gid_from_name-and-group-does-not-e.patch- Fix "No service execution module loaded" issue (bsc#1065792) - Set SHELL environment variable Added: * fix-bsc-1065792.patch * set-shell-environment-variable-64.patch- Removed unnecessary logging on shutdown (bsc#1050003) - Renamed patch that adds grain fqdns Changed: * catching-error-when-pidfile-cannot-be-deleted Removed: * fix-for-pidfile-removal-logging Renamed: * add-fqdns-grains -> feat-add-grain-for-all-fqdns- Add fqdns to grains (bsc#1063419) Added: * add-fqdns-grains.patch- Fixing cherrypy websocket with python3 Added: * python3-compatibility-fix-got-bytes-instead-of-strin.patch- Various-bug-fixes - Python3 bugfix for cherrypy read() - Fix for logging on salt-master exit in rare cases (pid-file removal) - Added: * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-pidfile-removal-logging.patch * split-only-strings-if-they-are-such.patch- Fix salt-master for old psutil version - Added: * fix-salt-master-for-old-psutil.patch- Put back accidentally removed patches - Added: * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * catching-error-when-pidfile-cannot-be-deleted.patch- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Older logrotate need su directive (bsc#1071322) * Added: older-logrotate-need-su-directive.patch- Fix bsc#1041993 already included in 2017.7.2 - Removed: * removes-beacon-configuration-deprecation-warning-48.patch- Fixed beacons failure when pillar-based suppressing config-based. (bsc#1060230) - Added: * activate-all-beacons-sources-config-pillar-grains.patch- Escape the usage of %{VERSION} when calling out to rpm. RPM 4.14 has %{VERSION} defined as 'the main packages version'.- Fix wrong version reported by Salt (bsc#1061407) - Fix CVE-2017-14696 (bsc#1062464) already included in 2017.7.2- Run salt master as dedicated salt user - Run salt-api as user salt (bsc#1064520) - Added: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch- Update to 2017.7.2 See https://docs.saltstack.com/en/latest/topics/releases/2017.7.2.html - Added: * enable-with-salt-version-parameter-for-setup.py-scri.patch - Removed: * add-a-salt-minion-service-control-file.patch * add-clean_id-function-to-salt.utils.verify.py.patch * add-options-for-dockerng.patch * add-ssh-option-to-salt-ssh.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-yum-plugin.patch * add-zypp-notify-plugin.patch * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * adding-support-for-installing-patches-in-yum-dnf-exe.patch * avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch * bugfix-unable-to-use-127-as-hostname.patch * catching-error-when-pidfile-cannot-be-deleted.patch * change-travis-configuration-file-to-use-salt-toaster.patch * check-if-byte-strings-are-properly-encoded-in-utf-8.patch * clean-up-change-attribute-from-interface-dict.patch * do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch * escape-the-os.sep.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-format-error-bsc-1043111.patch * fix-grain-for-os_family-on-suse-series.patch * fix-os_family-case-in-unittest.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * fix-setting-language-on-suse-systems.patch * fixed-issue-with-parsing-of-master-minion-returns-wh.patch * fixing-beacons.list-integration-test-failure.patch * introducing-the-kubernetes-module.patch * notify-systemd-synchronously-bsc-1053376.patch * rest_cherrypy-remove-sleep-call.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch * run-salt-api-as-user-salt-bsc-990029.patch * run-salt-master-as-dedicated-salt-user.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * security-fixes-cve-2017-14695-and-cve-2017-14696.patch * setting-up-os-grains-for-sles-expanded-support-suse-.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch * tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * use-correct-grain-constants-for-timezone.patch- Re-added previously removed unit-test for bsc#1050003 - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch- Fixes for CVE-2017-14695 and CVE-2017-14696 (bsc#1062462) - Added: * security-fixes-cve-2017-14695-and-cve-2017-14696.patch- Add missing follow-up for CVE-2017-12791 (bsc#1053955) - Fixed salt target-type field returns "String" for existing jids but an empty "Array" for non existing jids. (issue#1711) - Added: * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * escape-the-os.sep.patch- Fixed minion resource exhaustion when many functions are being executed in parallel (bsc#1059758) - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch - Added: * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch - Removed: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Remove 'TasksTask' attribute from salt-master.service in older versions of systemd (bsc#985112)- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Catching error when PIDfile cannot be deleted (bsc#1050003) - Added: * catching-error-when-pidfile-cannot-be-deleted.patch- Use $HOME to get the user home directory instead using '~' char (bsc#1042749) - Added: * use-home-to-get-the-user-home-directory-instead-usin.patch- Fixed patches for Kubernetes and YUM modules - Updated: * list_pkgs-add-parameter-for-returned-attribute-selec.patch * introducing-the-kubernetes-module.patch- Add patches to salt to support SUSE Manager scalability features (bsc#1052264) - Added: * list_pkgs-add-parameter-for-returned-attribute-selec.patch- Introducing the kubernetes module (bsc#1051948) - Added: * introducing-the-kubernetes-module.patch- Revert "We don't have python-systemd, so notify can't work" - Added: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Notify systemd synchronously via NOTIFY_SOCKET (bsc#1053376) - Added: * notify-systemd-synchronously-bsc-1053376.patch- Add clean_id function to salt.utils.verify.py (CVE-2017-12791, bsc#1053955) - Added: * add-clean_id-function-to-salt.utils.verify.py.patch- Added bugfix when jobs scheduled to run at a future time stay pending for Salt minions (bsc#1036125) - Added: * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch- Adding procps as dependency. This provides "ps" and "pgrep" utils which are called from different Salt modules and also from new salt-minion watchdog.- Adding a salt-minion watchdog for RHEL6 and SLES11 systems (sysV) to restart salt-minion in case of crashes during upgrade. - Added: * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch- fix format error (bsc#1043111)- fix ownership for whole master cache directory (bsc#1035914)- Bugfix: clean up `change` attribute from interface dict (upstream) Issue: https://github.com/saltstack/salt/issues/41461 PR: 1. https://github.com/saltstack/salt/pull/41487 2. https://github.com/saltstack/salt/pull/41533 Added: * clean-up-change-attribute-from-interface-dict.patch- Disable 3rd party runtime packages to be explicitly recommended. (bsc#1040886)- Bugfix: orchestrate and batches returns false failed information https://github.com/saltstack/salt/issues/40635 Added: * fixed-issue-with-parsing-of-master-minion-returns-wh.patch- speed-up cherrypy by removing sleep call- wrong os_family grains on SUSE - fix unittests (bsc#1038855)- fix setting the language on SUSE systems (bsc#1038855)- Documentation refresh to 2016.11.4- Update to 2016.11.4 See https://docs.saltstack.com/en/develop/topics/releases/2016.11.4.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.3.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.2.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.1.html for full changelog - Use SUSE specific salt-api.service (bsc#1039370) - Bugfix: wrong os_family grains on SUSE (bsc#1038855) - Bugfix: unable to use hostname for minion ID as '127' (upstream) - Fix core grains constants for timezone (bsc#1032931) - Add unit test for a skip false values from preferred IPs upstream patch - Adding "yum-plugin-security" as required for RHEL 6 - Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - raet protocol is no longer supported (bsc#1020831) - Fix: move SSH data to the new home (bsc#1027722) - Fix: /var/log/salt/minion fails logrotate (bsc#1030009) - Fix: Result of master_tops extension is mutually overwritten (bsc#1030073) - Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Use salt's ordereddict for comparison (fixes failing tests) - add special salt-minion.service file for RES7 - fix scripts for salt-proxy - define with systemd for fedora and rhel >= 7 (bsc#1027240) - add openscap module - file.get_managed regression fix (upstream issues #39762) - fix translate variable arguments if they contain hidden keywords (bsc#1025896) - fix service handling for openSUSE - added unit test for dockerng.sls_build dryrun - added dryrun to dockerng.sls_build - update dockerng minimal version requirements - fix format error in error parsing - keep fix for migrating salt home directory (bsc#1022562) - Fix salt pkg.latest raises exception if package is not available (bsc#1012999) - Fix timezone: should be always in UTC (bsc#1017078) - Fix timezone handling for rpm installtime (bsc#1017078) - Increasing timeouts for running integrations tests - Add buildargs option to dockerng.build module - Disable custom rosters for Salt SSH via Salt API (bsc#1011800) More: https://github.com/saltstack/salt/pull/38596 - Fix error when missing ssh-option parameter - readd yum notify plugin - all kwargs to dockerng.create to provide all features to sls_build as well - rename patches to get rid of the prefix numbers - Added: * bugfix-unable-to-use-127-as-hostname.patch * fix-grain-for-os_family-on-suse-series.patch * use-correct-grain-constants-for-timezone.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-a-salt-minion-service-control-file.patch * add-options-for-dockerng.patch * add-zypp-notify-plugin.patch * fixing-beacons.list-integration-test-failure.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch - Renamed: * 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch => tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * 0002-Run-salt-master-as-dedicated-salt-user.patch => run-salt-master-as-dedicated-salt-user.patch * 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch => check-if-byte-strings-are-properly-encoded-in-utf-8.patch * 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch => do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * 0009-Add-YUM-plugin.patch 0027-Add-YUM-plugin.patch => add-yum-plugin.patch * 0012-Run-salt-api-as-user-salt-bsc-990029.patch => run-salt-api-as-user-salt-bsc-990029.patch * 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch => setting-up-os-grains-for-sles-expanded-support-suse-.patch * 0022-Change-travis-configuration-file-to-use-salt-toaster.patch => change-travis-configuration-file-to-use-salt-toaster.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch => avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * 0042-Salt-ssh-ssh-option-param.patch => add-ssh-option-to-salt-ssh.patch * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch => adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0005-Use-SHA256-hash-type-by-default.patch * 0006-Create-salt-proxy-instantiated-service-file.patch * 0007-Add-SUSE-Manager-plugin.patch * 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch * 0009-Rewrite-minion-ID-generator-bsc-967803.patch * 0010-snapper-execution-module.patch * 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch * 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch * 0014-Fix-some-unittests.patch * 0015-Check-for-single-quote-before-splitting-on-single-qu.patch * 0016-Unit-test-fixes-for-2015.8.7.patch * 0017-Fix-snapper_test-for-python26.patch * 0018-Integration-tests-fixes-for-2015.8.7.patch * 0019-Generate-Salt-Thin-with-configured-extra-modules.patch * 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch * 0023-Adding-dist-upgrade-support-to-zypper-module.patch * 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch * 0025-Including-resolver-params-for-Zypper-debug-solver.patch * 0026-fix-status-handling-in-sysv-init-scripts.patch * 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch * 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch * 0030-Extract-archive-into-existing-directory-add-overwrit.patch * 0031-Port-rsync-state-from-2016.3.patch * 0032-Support-remote-port-forwarding-with-salt-ssh.patch * 0033-Add-master_tops-support-in-salt-ssh.patch * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0037-salt-minion-service-back-to-type-simple.patch * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch * 0046-Snapper-module-improvements.patch * 0047-Fix-issue-with-cp.push-36136.patch * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch * 0049-OpenSCAP-module.patch * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch * 0053-fix-race-condition-on-cache-directory-creation.patch * 0054-Merge-output-from-master_tops.patch * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Bugfix: datetime should be returned always in UTC - Added: * 0063-Bugfix-datetime-should-be-returned-always-in-UTC.patch- Bugfix: scheduled state may cause crash while deserialising data on infinite recursion. (bsc#1036125) - Added: * 0062-Bugfix-deserialising-crashes-in-the-recursive-loop-b.patch- Enable yum to handle errata on RHEL 6: require yum-plugin-security- Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - Added: * 0061-Search-the-entire-CACHE_DIR-because-storage-paths-ch.patch - Modified: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch- Refactoring on Zypper and Yum execution and state modules to allow installation of patches/errata. - Added: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix log rotation permission issue (bsc#1030009) - Use pkg/suse/salt-api.service by this package - Removed: * 0059-Set-salt-api-shell-env.patch - Added: * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Patch to set SHELL env variable for the salt-api.service. Needed for salt-ssh ProxyCommand to work properly. - Added: * 0059-Set-salt-api-shell-env.patch- Fixes 'timeout' and 'gather_job_timeout' kwargs parameters for 'local_batch' client - Added: * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch- Add missing bootstrap script for Salt Cloud (bsc#1032452)- Fix: add missing /var/cache/salt/cloud directory (bsc#1032213)- Added test case for race conditions on cache directory creation - Modified: * 0053-fix-race-condition-on-cache-directory-creation.patch- Adding "pkg.install downloadonly=True" support to yum/dnf execution module - Makes sure "gather_job_timeout" is an Integer - Adding "pkg.downloaded" state and support for installing patches/erratas - Added: * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix: merge master_tops output- Fix: race condition on cache directory creation - Added: * 0053-fix-race-condition-on-cache-directory-creation.patch- Cleanup salt user environment preparation (bsc#1027722)- Don't send passwords after shim delimiter is found (bsc#1019386) - Add: * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch- Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Add: * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch- Update systemd module unit tests (Update patch 0050)- define with system for fedora and rhel 7 (bsc#1027240)- Fix service state returning stacktrace (bsc#1027044) - Add: * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch- Update OpenSCAP Module patch- OpenSCAP Module - Added: * 0049-OpenSCAP-module.patch- Prevents 'OSError' exception in case certain job cache path doesn't exist (bsc#1023535) - Added: * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch- Backport: Fix issue with cp.push (#36136) - Add: * 0047-Fix-issue-with-cp.push-36136.patch- Fix salt-minion update on RHEL (bsc#1022841)- Adding new functions to Snapper execution module. - Added: * snapper-module-improvements.patch- Fix invalid chars allowed for data IDs (bsc#1011304) Fix timezone: should be always in UTC (bsc#1017078) Add: * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch- Fixes wrong "enabled" opts for yumnotify plugin Add: * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch- ssh-option parameter for salt-ssh command. Added: * 0042-Salt-ssh-ssh-option-param.patch- minion should pre-require salt - do not restart salt-minion in the salt package - add try-restart to sys-v init scripts Add: * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch- Adding "Restart=on-failure" for salt-minion systemd service Add: * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch- Re-introducing "KillMode=process" for salt-minion systemd service Add: * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch- Successfully exit of salt-api child processes when SIGTERM is received Add: * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch- Add new patches: * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch * 0037-salt-minion-service-back-to-type-simple.patch- Update to 2015.8.12 - Fix possible information leak due to revoked keys still being used. (bsc#1012398, CVE-2016-9639) - inherited patches 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch 0002-Run-salt-master-as-dedicated-salt-user.patch 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - renamed patches 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch - > 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch 0036-Use-SHA256-hash-type-by-default.patch - > 0005-Use-SHA256-hash-type-by-default.patch 0046-Add-SUSE-Manager-plugin.patch - > 0007-Add-SUSE-Manager-plugin.patch 0048-Create-salt-proxy-instantiated-service-file.patch - > 0006-Create-salt-proxy-instantiated-service-file.patch 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch - > 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch 0059-Rewrite-minion-ID-generator-bsc-967803.patch - > 0009-Rewrite-minion-ID-generator-bsc-967803.patch 0061-snapper-execution-module.patch - > 0010-snapper-execution-module.patch 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch - > 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch 0064-Run-salt-api-as-user-salt-bsc-990029.patch - > 0012-Run-salt-api-as-user-salt-bsc-990029.patch 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch - > 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch 0070-Fix-some-unittests.patch - > 0014-Fix-some-unittests.patch 0071-Check-for-single-quote-before-splitting-on-single-qu.patch - > 0015-Check-for-single-quote-before-splitting-on-single-qu.patch 0072-Unit-test-fixes-for-2015.8.7.patch - > 0016-Unit-test-fixes-for-2015.8.7.patch 0073-Fix-snapper_test-for-python26.patch - > 0017-Fix-snapper_test-for-python26.patch 0074-Integration-tests-fixes-for-2015.8.7.patch - > 0018-Integration-tests-fixes-for-2015.8.7.patch 0075-Generate-Salt-Thin-with-configured-extra-modules.patch - > 0019-Generate-Salt-Thin-with-configured-extra-modules.patch 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch - > 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch - > 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch 0078-Change-travis-configuration-file-to-use-salt-toaster.patch - > 0022-Change-travis-configuration-file-to-use-salt-toaster.patch 0079-Adding-dist-upgrade-support-to-zypper-module.patch - > 0023-Adding-dist-upgrade-support-to-zypper-module.patch 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch - > 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch 0081-Including-resolver-params-for-Zypper-debug-solver.patch - > 0025-Including-resolver-params-for-Zypper-debug-solver.patch 0082-fix-status-handling-in-sysv-init-scripts.patch - > 0026-fix-status-handling-in-sysv-init-scripts.patch - new patches from upstream 0027-Add-YUM-plugin.patch 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch (bsc#1008933) 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch 0030-Extract-archive-into-existing-directory-add-overwrit.patch 0031-Port-rsync-state-from-2016.3.patch 0032-Support-remote-port-forwarding-with-salt-ssh.patch 0033-Add-master_tops-support-in-salt-ssh.patch - upstreamed patches 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch 0005-Fix-package-status-filtering-on-latest-version-and-i.patch 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch 0009-The-functions-in-the-state-module-that-return-a-retc.patch 0010-add-handling-for-OEM-products.patch 0011-improve-doc-for-list_pkgs.patch 0012-implement-version_cmp-for-zypper.patch 0013-pylint-changes.patch 0014-Check-if-rpm-python-can-be-imported.patch 0015-call-zypper-with-option-non-interactive-everywhere.patch 0016-write-a-zypper-command-builder-function.patch 0017-Fix-crash-with-scheduler-and-runners-31106.patch 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch 0022-fix-argument-handling-for-pkg.download.patch 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch 0025-adapt-tests-to-new-zypper_check_result-output.patch 0027-make-suse-check-consistent-with-rh_service.patch 0028-fix-numerical-check-of-osrelease.patch 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch 0034-Fix-git_pillar-race-condition.patch 0035-Fix-the-always-false-behavior-on-checking-state.patch 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch 0039-Prevent-metadata-download-when-getting-installed-pro.patch 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch 0044-Unblock-Zypper.-Modify-environment.patch 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch 0049-Prevent-several-minion-processes-on-the-same-machine.patch 0050-checksum-validation-when-zypper-pkg.download.patch 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch 0054-fix-groupadd-module-for-sles11-systems.patch 0055-Backport-31164-and-31364-32474.patch 0056-Move-log-message-from-INFO-to-DEBUG.patch 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch 0065-fix-beacon-list-to-include-all-beacons-being-process.patch 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Splitted non-Linux and other external platform modules to 'salt-other' sub-package.- Switch package group from System/Monitoring to System/Management- fix exist codes of sysv init script (bsc#999852) Add: * 0082-fix-status-handling-in-sysv-init-scripts.patch- Including resolution parameters in the Zypper debug-solver call during a dry-run dist-upgrade. Add: * 0081-Including-resolver-params-for-Zypper-debug-solver.patch- Fix Salt API crash via salt-ssh on empty roster (bsc#1004723) Add: * 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch- Adding 'dist-upgrade' support to zypper module (FATE#320559) Add: * 0079-Adding-dist-upgrade-support-to-zypper-module.patch- Copy .travis.yml from git commit ea63e793567ba777e47dc766a4f88edfb037a02f Add: * travis.yml - Change travis configuration file to use salt-toaster Add: * travis.yml * 0078-Change-travis-configuration-file-to-use-salt-toaster.patch- acl.delfacl: fix position of -X option to setfacl (bsc#1004260) Add: * 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch- fix generated shebang in scripts on SLES-ES 7 (bsc#1004047)- add update-documentation.sh to specfile- Setting up OS grains for SLES-ES (SLES Expanded Support platform) Add: * 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch- Move salt home directory to /var/lib/salt (bsc#1002529) - Adjust permissions on home directory - Adjust pre-install script to correctly move existing salt users' home directory salt user cannot write in his own home directory (/srv/salt) because it is owned by user `root`. This prevents salt from correctly save ssh known hosts in ~/.ssh/ and breaks salt-ssh bootstrapping.- Updated html.tar.bz2 documentation tarball. - Generate Salt Thin with configured extra modules (bsc#990439) Add: * 0075-Generate-Salt-Thin-with-configured-extra-modules.patch- Unit and integration tests fixes for 2015.8.7 Add: * 0072-Unit-test-fixes-for-2015.8.7.patch * 0073-Fix-snapper_test-for-python26.patch * 0074-Integration-tests-fixes-for-2015.8.7.patch- Prevent pkg.install failure for expired keys (bsc#996455) Add: * 0071-Check-for-single-quote-before-splitting-on-single-qu.patch- Required D-Bus and generating machine ID- add a macro to check if the docs should be build or the static tarball should be used- Fix a couple of failing unittests * 0070-Fix-some-unittests.patch- Helper script for updating documentation tarball. Added: * update-documentation.sh- Fix python-jinja2 requirements in rhel- Fix pkg.installed refresh repo failure (bsc#993549) Fix salt.states.pkgrepo.management no change failure (bsc#990440) Add: * 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch * 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Prevent snapper module crash on load if no DBus is available in the system (bsc#993039) Add: * 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch- Prevent continuous restart, if a dependency wasn't installed (bsc#991048) Add: * 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch- Fix beacon list to include all beacons being process Add: * 0065-fix-beacon-list-to-include-all-beacons-being-process.patch- Run salt-api as user salt like the master (bsc#990029) Add: * 0064-Run-salt-api-as-user-salt-bsc-990029.patch- Revert patch Minion ID generation (bsc#967803) Removes: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Fix broken inspector due to accidentally missed commit (bsc#989798) Add: * 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch- Set always build salt-doc package.- Bugfix: lvm.vg_present does not recognize PV with certain LVM filter settings (bsc#988506) Add: * 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch- Backport: Snapper module for Salt. Add: * 0061-snapper-execution-module.patch- Bugfix: pkg.list_products on "registerrelease" and "productline" returns boolean.False if empty (bsc#989193, bsc#986019) Add: * 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch- Rewrite Minion ID generation (bsc#967803) Add: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Bugfix: Fixed behavior for SUSE OS grains (bsc#970669) Bugfix: Salt os_family does not detect SLES for SAP (bsc#983017) Add: * 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch- Move log message from INFO to DEBUG (bsc#985661) Add: 0056-Move-log-message-from-INFO-to-DEBUG.patch - fix salt --summary to count not responding minions correctly (bsc#972311) Add: * 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch- Fix memory leak on custom execution module sheduled jobs (bsc#983512) Add: * 0055-Backport-31164-and-31364-32474.patch- fix groupadd module for sles11 systems (bsc#978150) Add: * 0054-fix-groupadd-module-for-sles11-systems.patch- Fix pkgrepo.managed gpgkey argument doesn't work (bsc#979448) Add: * 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch- Package checksum validation for zypper pkg.download Add: * 0050-checksum-validation-when-zypper-pkg.download.patch * 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch - Check if a job has executed and returned successfully Add: * 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch- Remove option -f from startproc (bsc#975733) Add: * 0049-Prevent-several-minion-processes-on-the-same-machine.patch- Changed Zypper's plugin. Added Unit test and related to that data (bsc#980313). Update: * 0046-Add-SUSE-Manager-plugin.patch Delete (not needed anymore): * 0049-Alter-the-event-name.patch- Zypper plugin: alter the generated event name on package set change. Add: * 0049-Alter-the-event-name.patch- Fix file ownership on master keys and cache directories during upgrade (handles upgrading from salt 2014, where the daemon ran as root, to 2015 where it runs as the salt user, bsc#979676).- salt-proxy .service file created (bsc#975306) Add: * 0048-Create-salt-proxy-instantiated-service-file.patch- Prevent salt-proxy test.ping crash (bsc#975303) Add: * 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch- Fix shared directories ownership issues.- Add Zypper plugin to generate an event, once Zypper is used outside the Salt infrastructure demand (bsc#971372). Add: * 0046-Add-SUSE-Manager-plugin.patch- Restore boolean values from the repo configuration Fix priority attribute (bsc#978833) Add: * 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch- Unblock-Zypper. (bsc#976148) Modify-environment. (bsc#971372) Add: * 0044-Unblock-Zypper.-Modify-environment.patch- Prevent crash if pygit2 package is requesting re-compilation. Add: * 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch- align OS grains from older SLES with current one (bsc#975757) Add: * 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch- Bugfix: salt-key crashes if tries to generate keys to the directory w/o write access (bsc#969320) Add: * 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch- Check if EOL is available in a particular product (bsc#975093) Add: * 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch- fix building with docs on SLE11- Prevent metadata download when getting installed products Add: * 0039-Prevent-metadata-download-when-getting-installed-pro.patch- Add statically built docs.- fix sorting by latest package Add: * 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch- ensure pkg.info_installed report latest package version (bsc#972490) Add: * 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch- Use SHA256 by default in master, minion and proxy (bsc#955373) Add: * 0036-Use-SHA256-hash-type-by-default.patch- Fix state structure compilation Add: * 0035-Fix-the-always-false-behavior-on-checking-state.patch - Fix git_pillar race condition Add: * 0034-Fix-git_pillar-race-condition.patch- fix detection of base products in SLE11 * 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch - fix rpm info for SLE11 * 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch * 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch - fix init system detection for SLE11 * 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch- Re-add corrected patch: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Make checksum configurable (upstream still wants md5, we suggest sha256). bsc#955373 Add: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Fix the service state / module on SLE11. Add: * 0027-make-suse-check-consistent-with-rh_service.patch * 0028-fix-numerical-check-of-osrelease.patch- Prevent rebuilds in OBS by not generating a date as a comment in a source file Add: 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch- Add better checking for zypper exit codes and simplify evaluation of the zypper error messages. Add: 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch - Adapt unit tests Add: 0025-adapt-tests-to-new-zypper_check_result-output.patch- Add initial pack of Zypper's Unit tests. Use XML output in list_upgrades. Bugfix: upgrade_available crashes when only one package specified Purge is not using "-u" anymore Add: * 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch- fix argument handling of pkg.download Add: 0022-fix-argument-handling-for-pkg.download.patch- unify behavior of zypper refresh in salt Add: 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch- Fix crash with scheduler and runners Add: 0017-Fix-crash-with-scheduler-and-runners-31106.patch- Call zypper always with --non-interactive Add: * 0015-call-zypper-with-option-non-interactive-everywhere.patch * 0016-write-a-zypper-command-builder-function.patch- require rpm-python on SUSE for zypper support- fix state return code Add: 0009-The-functions-in-the-state-module-that-return-a-retc.patch - add handling of OEM products to pkg.list_products Add: 0010-add-handling-for-OEM-products.patch - improve doc for list_pkgs Add: 0011-improve-doc-for-list_pkgs.patch - implement pkg.version_cmp in zypper.py Add: * 0012-implement-version_cmp-for-zypper.patch * 0013-pylint-changes.patch * 0014-Check-if-rpm-python-can-be-imported.patch- Update to 2015.8.7 this is a small update to fix some regressions see https://docs.saltstack.com/en/latest/topics/releases/2015.8.7.html- Booleans should not be strings from XML, add Unix ticks time and format result in a list of maps. Add: * 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch- Stop salt-api daemon faster (bsc#963322) Add: * 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch- Do not crash on salt-key reject/delete consecutive calls. Add: * 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch- Update to 2015.8.5 Security fixes: * CVE-2016-1866: Improper handling of clear messages on the minion remote code execution (boo#965403) See https://docs.saltstack.com/en/latest/topics/releases/2015.8.5.html Dropped patches (all upstream): * 0003-List-products-consistently-across-all-SLES-systems.patch * 0004-Add-missing-return-data-to-scheduled-jobs.patch * 0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * 0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch Renamed patches: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - > 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch - > 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch - > 0005-Fix-package-status-filtering-on-latest-version-and-i.patch - Update to 2015.8.4 See https://docs.saltstack.com/en/latest/topics/releases/2015.8.4.html- Fix latest version available comparison and implement epoch support in Zypper module. Add: * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch- Update patch from opensuse to upstream version. Update: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Fix dependencies to Salt subpackages requiring release along the version.- Fix pkg.latest crash. - Fix pkg.latest SLS ID bug, when pkgs empty list is passed, but SLS ID still treated as a package name. Add: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Drop: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0005-Add-missing-return-data-to-scheduled-jobs.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch +0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * -0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch +0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch - Add: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch- Rename use-forking-daemon.patch to 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch - Rename use-salt-user-for-master.patch to 0002-Run-salt-master-as-dedicated-salt-user.patch - Rename 1efe484309a5c776974e723f3da0f5181f4bdb86.patch to 0003-List-products-consistently-across-all-SLES-systems.patch - Rename zypper-utf-8.patch to 0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename salt-2015.8-schedule-ret.patch to 0005-Add-missing-return-data-to-scheduled-jobs.patch - Rename salt-2015.8-pkg-zypper-attr-filtering.patch to 0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch - Rename salt-2015.8-zypper-info.patch to 0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch- Fix zypper module info_available on SLE-11 * add salt-2015.8-zypper-info.patch * https://github.com/saltstack/salt/pull/30384 - zypper/pkg: add package attributes filtering * add salt-2015.8-pkg-zypper-attr-filtering.patch * https://github.com/saltstack/salt/pull/30267 - Remove obsoleted patches and fixes: * 0001-Add-rpm.minimal_info-fix-rpm.info.patch * 0002-Reduce-information-returned-from-pkg.info_installed.patch * Remove require on glibc-locale (bsc#959572)- Add missing return data to scheduled jobs * add salt-2015.8-schedule-ret.patch for * https://github.com/saltstack/salt/pull/30246- Update zypper-utf-8.patch for Python 2.6- require glibc-locale (bsc#959572)- Report epoch and architecture of installed packages 0001-Add-rpm.minimal_info-fix-rpm.info.patch - pkg.info_installed exceeds the maximum event size, reduce the information to what's actually needed 0002-Reduce-information-returned-from-pkg.info_installed.patch- Filter out bad UTF-8 strings in package data (bsc#958350) zypper-utf-8.patch- Updated to salt 2015.8.3 bugfix release - remove the following patches because upstream merged them: - 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch - os_grain.patch - zypper_pkgrepo.patch - more details at: https://docs.saltstack.com/en/latest/topics/releases/2015.8.3.html- added 1efe484309a5c776974e723f3da0f5181f4bdb86.patch: reimplements pkg.list_products that potentially may be broken in a future releases of SLES.- added 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch: fixes a regression introduced in 2015.8.2, which was actually holding back the release. Downgrade is not an option as we need the leap fixes.- it shouldnt be >= 1110 but just > 1110- require pmtools on sle11 to get dmidecode- update use-salt-user-for-master.patch: First step to make the syndic also run as salt user.- Updated to bugfix release 2015.8.2 - os_grain.patch fix the "os" grain on SLES11SP4 - zypper_pkgrepo.patch fix the priority and humanname pkgrepo args for the zypper backend for more details: https://docs.saltstack.com/en/2015.8/topics/releases/2015.8.2.html- update to 2015.8.1 - Add support for ``spm.d/*.conf`` configuration of SPM (:issue:`27010`) - Fix ``proxy`` grains breakage for non-proxy minions (:issue:`27039`) - Fix global key management for git state - Fix passing http auth to ``util.http`` from ``state.file`` (:issue:`21917`) - Fix ``multiprocessing: True`` in windows (on by default`) - Add ``pkg.info`` to pkg modules - Fix name of ``serial`` grain (this was accidentally renamed in 2015.8.0`) - Merge config values from ``master.d``/``minion.d`` conf files (rather than flat update`) - Clean grains cache on grains sync (:issue:`19853`) - Remove streamed response for fileclient to avoid HTTP redirection problems (:issue:`27093`) - Fixed incorrect warning about ``osrelease`` grain (:issue:`27065`) - Fix authentication via Salt-API with tokens (:issue:`27270`) - Fix winrepo downloads from https locations (:issue:`27081`) - Fix potential error with salt-call as non-root user (:issue:`26889`) - Fix global minion provider overrides (:issue:`27209`) - Fix backward compatibility issues for pecl modules - Fix Windows uninstaller to only remove ``./bin``, ``salt*``, ``nssm.exe``, ``uninst.exe`` (:issue:`27383`) - Fix misc issues with mongo returner. - Add sudo option to cloud config files (:issue:`27398`) - Fix regression in RunnerClient argument handling (:issue:`25107`) - Fix ``dockerng.running`` replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Fix dockerng.running replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Increased performance on boto asg/elb states due to ``__states__`` integration - Windows minion no longer requires powershell to restart (:issue:`26629`) - Fix x509 module to support recent versions of OpenSSL (:issue:`27326`) - Some issues with proxy minions were corrected. - drop salt-2015.8-backports-susemanager.diff: included in update - guard raet buildrequires with bcond_with raet and comment out the recommends for salt-raet.- remove pygit2 global recommends, it is only needed in the master - remove git-core, pygit2 should pull it as a dependency - add a (currently disabled) %check- Add salt-2015.8-backports-susemanager.diff Returns detailed information about a package- ifdef Recommends to build on RHEL based distros - use _initddir instead of _sysconfdir/init.d as it works on both platforms.- allow to disable docs in preparation for building on other platforms without all dependencies.- python-libnacl, python-ioflo are _not_ required to build the package. They are anyways requires of python-raet, which is also not required to build the package.- merge (build)requires/recommends with requirements/*txt and setup.py- add raet subpackage which will pull all requires for it and provides config snippets to enable it for the minion and master.- add tmpfiles.d file- Remove requires on python-ioflo and python-libnacl they will be pulled by python-raet, which is optional.- python-raet is optional, so make it a Recommends- update backports patch from 2015.8 branch- update use-forking-daemon.patch: the original intention was to get rid of the python systemd dependency. for this we do not have daemonize the whole process. just switching to simple mode is enough.- drop fdupes: 1. it broke python byte code handling 2. the only part of the package which would really benefit from it would be the doc package. but given we only install the files via %doc, we can not use it for that either. - reenable completions on distros newer than sle11 - do not use _datarootdir, use _datadir instead.- package all directories in /var/cache/salt and /etc/salt and have permissions set for non root salt master - update use-salt-user-for-master.patch: - also patch the logrotate file to include the su option- remove duplicated recommends - never require pygit2 and git. the master can run fine without. always use recommends- cleanup dependencies: - remove a lot of unneeded buildrequires - fdupes not present on SLE10 - python-certifi needed on SLE11 - python-zypp not needed any more - python-pygit2 is not a global requirement - convert python-pysqlite to recommends as it is not available on python <=2.7 - sles_version -> suse_version - %exclude the cloud/deploy/*.sh scripts to fix build issue on SLE11- Remove python-PyYAML from the dependencies list, as python-yaml is the same - Build the -completion subpackages in SLE11 as well - Add salt-proxy (by dmacvicar@suse.de) - Create salt user/group only in the -master subpkg- Fix typo in use-forking-daemon.patch, that prevented daemon loading- Fix typo in Requires- Cleanup requirements- New Major release 2015.8.0 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.8.0.html - Cleaned the spec file with spec-cleaner - Added the use-salt-user-for-master.patch see README.SUSE - Updated the files ownership with salt user - removed m2crypto depency- Removed fish dependency for fish completions.- Added fish completions.- Support SLE11SP{3,4}, where the M2Crypto package is named python-m2crypto- Updated to Bugfix release 2015.5 for more details: https://github.com/saltstack/salt/blob/develop/doc/topics/releases/2015.5.5.rst - Add prereq, for user creation. - Add creation of salt user in preparation of running the salt-master daemon as non-root user salt. https://bugzilla.opensuse.org/show_bug.cgi?id=939831 - Add README.SUSE with explanation and how to.- only require git-core to not pull in git-web and gitk- New Bugfix release 2015.5.3 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.3.html- New Bugfix release 2015.5.2 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.2.html- New Bugfix release 2015.5.1 salt.runners.cloud.action() has changed the fun keyword argument to func. Please update any calls to this function in the cloud runner. for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.1.html- Removed python-pssh depency not needed anymore.- Major release 2015.5.0 Lithium - update to 2015.5.0 The 2015.5.0 feature release of Salt is focused on hardening Salt and mostly on improving existing systems. A few major additions are present, primarily the new Beacon system. Most enhancements have been focused around improving existing features and interfaces. As usual the release notes are not exhaustive and primarily include the most notable additions and improvements. Hundreds of bugs have been fixed and many modules have been substantially updated and added. See especially the warning right on the top regarding python_shell=False. For all details see http://docs.saltstack.com/en/latest/topics/releases/2015.5.0.html - RPM Package changes: - add some versions to the buildrequires to match the 2 requirements files from the tarball - Moved the depencencies to main salt package except where they are specific for the package - Changed python-request dependency,only needed on salt-cloud - Added python-tornado dependency for http.py - Fixed zsh_completion in tarball. - Fixed salt-api requirements to require python-cherrypy - Fixed salt-cloud requiments to require salt-master- New Bugfix release 2014.7.5 Changes: + Fixed a key error bug in salt-cloud + Updated man pages to better match documentation + Fixed bug concerning high CPU usage with salt-ssh + Fixed bugs with remounting cvfs and fuse filesystems + Fixed bug with alowing requisite tracking of entire sls files + Fixed bug with aptpkg.mod_repo returning OK even if apt-add-repository fails + Increased frequency of ssh terminal output checking + Fixed malformed locale string in localmod module + Fixed checking of available version of package when accept_keywords were changed + Fixed bug to make git.latest work with empty repositories + Added **kwargs to service.mod_watch which removes warnings about enable and __reqs__ not being supported by the function + Improved state comments to not grow so quickly on failed requisites + Added force argument to service to trigger force_reload + Fixed bug to andle pkgrepo keyids that have been converted to int + Fixed module.portage_config bug with appending accept_keywords + Fixed bug to correctly report disk usage on windows minion + Added the ability to specify key prefix for S3 ext_pillar + Fixed issues with batch mode operating on the incorrect number of minions + Fixed a bug with the proxmox cloud provider stacktracing on disk definition + Fixed a bug with the changes dictionary in the file state + Fixed the TCP keep alive settings to work better with SREQ caching + Fixed many bugs within the iptables state and module + Fixed bug with states by adding fun, state, and unless to the state runtime internal keywords listing + Added ability to eAuth against Active Directory + Fixed some salt-ssh issues when running on Fedora 21 + Fixed grains.get_or_set_hash to work with multiple entries under same key + Added better explanations and more examples of how the Reactor calls functions to docs + Fixed bug to not pass ex_config_drive to libcloud unless it's explicitly enabled + Fixed bug with pip.install on windows + Fixed bug where puppet.run always returns a 0 retcode + Fixed race condition bug with minion scheduling via pillar + Made efficiency improvements and bug fixes to the windows installer + Updated environment variables to fix bug with pygit2 when running salt as non-root user + Fixed cas behavior on data module -- data.cas was not saving changes + Fixed GPG rendering error + Fixed strace error in virt.query + Fixed stacktrace when running chef-solo command + Fixed possible bug wherein uncaught exceptions seem to make zmq3 tip over when threading is involved + Fixed argument passing to the reactor + Fixed glibc caching to prevent bug where salt-minion getaddrinfo in dns_check() never got updated nameservers Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix Release 2014.7.4 - Updated patch use-forking-daemon.patch - fix salt-zsh-completion conflicts + Multi-master minions mode no longer route fileclient operations asymetrically. This fixes the source of many multi-master bugs where the minion would become unrepsonsive from one or more masters. + Fix bug wherein network.iface could produce stack traces. + net.arp will no longer be made available unless arp is installed on the system. + Major performance improvements to Saltnado + Allow KVM module to operate under KVM itself or VMWare Fusion + Various fixes to the Windows installation scripts + Fix issue where the syndic would not correctly propogate loads to the master job cache. + Improve error handling on invalid /etc/network/interfaces file in salt networking modules + Fix bug where a reponse status was not checked for in fileclient.get_url + Enable eauth when running salt in batch mode + Increase timeout in Boto Route53 module + Fix bugs with Salt's 'tar' module option parsing + Fix parsing of NTP servers on Windows + Fix issue with blockdev tuning not reporting changes correctly + Update to the latest Salt bootstrap script + Update Linode salt-cloud driver to use either linode-python or apache-libcloud + Fix for s3.query function to return correct headers + Fix for s3.head returning None for files that exist + Fix the disable function in win_service module so that the service is disabled correctly + Fix race condition between master and minion when making a directory when both daemons are on the same host + Fix an issue where file.recurse would fail at the root of an svn repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an hgfs repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an gitfs repo when the repo has a mountpoint + Add status.master capability for Windows. + Various fixes to ssh_known_hosts + Various fixes to states.network bonding for Debian + The debian_ip.get_interfaces module no longer removes nameservers. + Better integration between grains.virtual and systemd-detect-virt and virt-what + Fix traceback in sysctl.present state output + Fix for issue where mount.mounted would fail when superopts were not a part of mount.active (extended=True). Also mount.mounted various fixes for Solaris and FreeBSD. + Fix error where datetimes were not correctly safeguarded before being passed into msgpack. + Fix file.replace regressions. If the pattern is not found, and if dry run is False, and if `backup` is False, and if a pre-existing file exists with extension `.bak`, then that backup file will be overwritten. This backup behavior is a result of how `fileinput` works. Fixing it requires either passing through the file twice (the first time only to search for content and set a flag), or rewriting `file.replace` so it doesn't use `fileinput` + VCS filreserver fixes/optimizations + Catch fileserver configuration errors on master start + Raise errors on invalid gitfs configurations + set_locale when locale file does not exist (Redhat family) + Fix to correctly count active devices when created mdadm array with spares + Fix to correctly target minions in batch mode + Support ssh:// urls using the gitfs dulwhich backend + New fileserver runner + Fix various bugs with argument parsing to the publish module. + Fix disk.usage for Synology OS + Fix issue with tags occurring twice with docker.pulled + Fix incorrect key error in SMTP returner + Fix condition which would remount loopback filesystems on every state run + Remove requsites from listens after they are called in the state system + Make system implementation of service.running aware of legacy service calls + Fix issue where publish.publish would not handle duplicate responses gracefully. + Accept Kali Linux for aptpkg salt execution module + Fix bug where cmd.which could not handle a dirname as an argument + Fix issue in ps.pgrep where exceptions were thrown on Windows. - Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix release 2014.7.2: - fix package bug with fdupes. - keep sle 11 sp3 support. + Fix erroneous warnings for systemd service enabled check (issue 19606) + Fix FreeBSD kernel module loading, listing, and persistence kmod (issue 197151, issue 19682) + Allow case-sensitive npm package names in the npm state. This may break behavior for people expecting the state to lowercase their npm package names for them. The npm module was never affected by mandatory lowercasing. (issue 20329) + Deprecate the activate parameter for pip.install for both the module and the state. If bin_env is given and points to a virtualenv, there is no need to activate that virtualenv in a shell for pip to install to the virtualenv. + Fix a file-locking bug in gitfs (issue 18839)- New Bugfix release 2014.7.1: + Fixed gitfs serving symlinks in file.recurse states (issue 17700) + Fixed holding of multiple packages (YUM) when combined with version pinning (issue 18468) + Fixed use of Jinja templates in masterless mode with non-roots fileserver backend (issue 17963) + Re-enabled pillar and compound matching for mine and publish calls. Note that pillar globbing is still disabled for those modes, for security reasons. (issue 17194) + Fix for tty: True in salt-ssh (issue 16847) - Needed to provide zsh completion because of the tarball missing the zsh completion script. - Removed man salt.1.gz file from salt-master because upstream removed it. - Added man salt.7.gz to salt-master package- Updated to Major Release 2014.7.0 - added python-zipp as depency - added recommend python-pygit2, this is the preferred gitfs backend of saltstack - added zsh-completion package - Removed Patch fix-service-py-version-parsing-sles.patch already fixed in this package - Removed Patch pass-all-systemd-list-units.patch already fixed in this package - Removed Patch disable-service-py-for-suse-family.patch already fixed in this package - Removed Patch allow-systemd-units-no-unit-files.patch already fixed in this package - Removed Patch allow-systemd-parameterized-services.patch already fixed in this package - More information at: http://docs.saltstack.com/en/latest/topics/releases/2014.7.0.html - SALT SSH ENHANCEMENTS: + Support for Fileserver Backends + Support for Saltfile + Ext Pillar + No more sshpass needed + Pure Python Shim + Custom Module Delivery + CP module Support + More Thin Directory Options - Salt State System enhancements: + New Imperative State Keyword "Listen" + New Mod Aggregate Runtime Manipulator + New Requisites: onchanges and onfail + New Global onlyif and unless + Use names to expand and override values - Salt Major Features: + Improved Scheduler Additions + Red Hat 7 Support + Fileserver Backends in Salt-call + Amazon Execution Modules in salt-cloud + LXC Runner Enhancements + Next Gen Docker Management + Peer System Performance Improvements + SDB Encryption at rest for configs + GPG Renderer encrypted pillar at rest + OpenStack Expansions + Queues System external queue systems into Salt events + Multi Master Failover Additions + Chef Execution Module - salt-api Project Merge + Synchronous and Asynchronous Execution of Runner and Wheel Modules + rest_cherrypy Additions + Web Hooks - Fileserver Backend Enhancements: + New gitfs Features + Pygit2 and Dulwich support + Mountpoints support + New hgfs Features + mountpoints support + New svnfs Features: + mountpoints + minionfs Featuressupport + mountpoints - New Salt Modules: + Oracle + Random + Redis + Amazon Simple Queue Service + Block Device Management + CoreOS etcd + Genesis + InfluxDB + Server Density + Twilio Notifications + Varnish + ZNC IRC Bouncer + SMTP - NEW RUNNERS: + Map/Reduce Style + Queue - NEW EXTERNAL PILLARS: + CoreOS etcd - NEW SALT-CLOUD PROVIDERS: + Aliyun ECS Cloud + LXC Containers + Proxmox (OpenVZ containers & KVM) - DEPRECATIONS: + Salt.modules.virtualenv_mod- Updated to 2014.1.13 a bugfix release on 2014.1.12 + fix module run exit code (issue 16420) + salt cloud Check the exit status code of scp before assuming it has failed. (issue 16599)ibs-power9-12 1669023637  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a3004-150300.53.33.63004-150300.53.33.6     !!!!!!!!!!!!!!!!!!!"#################################################"$%%%%%%%%%%%%%%%%%%%%%%%%&'''())))))))))))))))))))))(*+++++++++++++++++++++++++++++++++++++++++*,-----------.//////////////////////////////////////////////.0111111111111111233333333344555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555444444444444444444446777777777778999:;;;;;;;:<=======>???@??A?B?CCCCCCCCCCCCCCCCCCCDCCCCCCCCCCCCCCCCEEEEEEEEEEEECCCCCCCCCCCC?F?GGGGHHHHHHGGIGGJGGGGGKKKKKGGGGLLLGG?MM?N?OOO?PP?Q?R??S??TTTTTTTTTTTTTTT?U?VVV?W?X?Y?ZZ?[?\\?]?^?_____?`?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbaaacccccccccca?d??e?f?gg?hhhhhhh?iii?j?kkkkkkkkk?l?mm?nnn?oooo?ppppppppppppppppppppppppppppppppppp??q?r?sss?ttt?uvvvvwwwwwwvvvvvvxxxxxyzzzzzzzzzzzzv{{{{{{{{{{{{{{{{{{{vvv|||vvvvvvvvvvvvvvvvvvvvvvvv}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}salt-dochtml404.html_imagescloud-settings-inheritance.pngexternal-job-cache.pngmaster-job-cache.pngnapalm_logo.pngproxy_minions.pngrest_status_screen.pngsalt-architecture.pngspm-overview.pngspm-package-contents.pngspm-package-extraction.png_sourcescontents.rst.txtfaq.rst.txtglossary.rst.txtrefauthallindex.rst.txtsalt.auth.auto.rst.txtsalt.auth.django.rst.txtsalt.auth.file.rst.txtsalt.auth.keystone.rst.txtsalt.auth.ldap.rst.txtsalt.auth.mysql.rst.txtsalt.auth.pam.rst.txtsalt.auth.pki.rst.txtsalt.auth.rest.rst.txtsalt.auth.sharedsecret.rst.txtsalt.auth.yubico.rst.txtbeaconsallindex.rst.txtsalt.beacons.adb.rst.txtsalt.beacons.aix_account.rst.txtsalt.beacons.avahi_announce.rst.txtsalt.beacons.bonjour_announce.rst.txtsalt.beacons.btmp.rst.txtsalt.beacons.cert_info.rst.txtsalt.beacons.diskusage.rst.txtsalt.beacons.glxinfo.rst.txtsalt.beacons.haproxy.rst.txtsalt.beacons.inotify.rst.txtsalt.beacons.journald.rst.txtsalt.beacons.junos_rre_keys.rst.txtsalt.beacons.load.rst.txtsalt.beacons.log_beacon.rst.txtsalt.beacons.memusage.rst.txtsalt.beacons.napalm_beacon.rst.txtsalt.beacons.network_info.rst.txtsalt.beacons.network_settings.rst.txtsalt.beacons.pkg.rst.txtsalt.beacons.proxy_example.rst.txtsalt.beacons.ps.rst.txtsalt.beacons.salt_monitor.rst.txtsalt.beacons.salt_proxy.rst.txtsalt.beacons.sensehat.rst.txtsalt.beacons.service.rst.txtsalt.beacons.sh.rst.txtsalt.beacons.smartos_imgadm.rst.txtsalt.beacons.smartos_vmadm.rst.txtsalt.beacons.status.rst.txtsalt.beacons.swapusage.rst.txtsalt.beacons.telegram_bot_msg.rst.txtsalt.beacons.twilio_txt_msg.rst.txtsalt.beacons.watchdog.rst.txtsalt.beacons.wtmp.rst.txtcacheallindex.rst.txtsalt.cache.consul.rst.txtsalt.cache.etcd_cache.rst.txtsalt.cache.localfs.rst.txtsalt.cache.mysql_cache.rst.txtsalt.cache.redis_cache.rst.txtcliindex.rst.txtsalt-api.rst.txtsalt-call.rst.txtsalt-cloud.rst.txtsalt-cp.rst.txtsalt-extend.rst.txtsalt-key.rst.txtsalt-master.rst.txtsalt-minion.rst.txtsalt-proxy.rst.txtsalt-run.rst.txtsalt-ssh.rst.txtsalt-syndic.rst.txtsalt-unity.rst.txtsalt.rst.txtspm.rst.txtclientsindex.rst.txtcloudsallindex.rst.txtsalt.cloud.clouds.aliyun.rst.txtsalt.cloud.clouds.azurearm.rst.txtsalt.cloud.clouds.clc.rst.txtsalt.cloud.clouds.cloudstack.rst.txtsalt.cloud.clouds.digitalocean.rst.txtsalt.cloud.clouds.dimensiondata.rst.txtsalt.cloud.clouds.ec2.rst.txtsalt.cloud.clouds.gce.rst.txtsalt.cloud.clouds.gogrid.rst.txtsalt.cloud.clouds.hetzner.rst.txtsalt.cloud.clouds.joyent.rst.txtsalt.cloud.clouds.libvirt.rst.txtsalt.cloud.clouds.linode.rst.txtsalt.cloud.clouds.lxc.rst.txtsalt.cloud.clouds.msazure.rst.txtsalt.cloud.clouds.oneandone.rst.txtsalt.cloud.clouds.opennebula.rst.txtsalt.cloud.clouds.openstack.rst.txtsalt.cloud.clouds.packet.rst.txtsalt.cloud.clouds.parallels.rst.txtsalt.cloud.clouds.profitbricks.rst.txtsalt.cloud.clouds.proxmox.rst.txtsalt.cloud.clouds.pyrax.rst.txtsalt.cloud.clouds.qingcloud.rst.txtsalt.cloud.clouds.saltify.rst.txtsalt.cloud.clouds.scaleway.rst.txtsalt.cloud.clouds.softlayer.rst.txtsalt.cloud.clouds.softlayer_hw.rst.txtsalt.cloud.clouds.tencentcloud.rst.txtsalt.cloud.clouds.vagrant.rst.txtsalt.cloud.clouds.virtualbox.rst.txtsalt.cloud.clouds.vmware.rst.txtsalt.cloud.clouds.vultrpy.rst.txtsalt.cloud.clouds.xen.rst.txtconfigurationexamples.rst.txtindex.rst.txtlogginghandlersindex.rst.txtsalt.log.handlers.fluent_mod.rst.txtsalt.log.handlers.log4mongo_mod.rst.txtsalt.log.handlers.logstash_mod.rst.txtsalt.log.handlers.sentry_mod.rst.txtindex.rst.txtmaster.rst.txtminion.rst.txtnonroot.rst.txtproxy.rst.txtenginesallindex.rst.txtsalt.engines.docker_events.rst.txtsalt.engines.fluent.rst.txtsalt.engines.http_logstash.rst.txtsalt.engines.ircbot.rst.txtsalt.engines.junos_syslog.rst.txtsalt.engines.libvirt_events.rst.txtsalt.engines.logentries.rst.txtsalt.engines.logstash_engine.rst.txtsalt.engines.napalm_syslog.rst.txtsalt.engines.reactor.rst.txtsalt.engines.redis_sentinel.rst.txtsalt.engines.script.rst.txtsalt.engines.slack.rst.txtsalt.engines.sqs_events.rst.txtsalt.engines.stalekey.rst.txtsalt.engines.test.rst.txtsalt.engines.thorium.rst.txtsalt.engines.webhook.rst.txtexecutorsallindex.rst.txtsalt.executors.direct_call.rst.txtsalt.executors.docker.rst.txtsalt.executors.splay.rst.txtsalt.executors.sudo.rst.txtsalt.executors.transactional_update.rst.txtindex.rst.txtfile_serverallindex.rst.txtsalt.fileserver.azurefs.rst.txtsalt.fileserver.gitfs.rst.txtsalt.fileserver.hgfs.rst.txtsalt.fileserver.minionfs.rst.txtsalt.fileserver.roots.rst.txtsalt.fileserver.s3fs.rst.txtsalt.fileserver.svnfs.rst.txtbackends.rst.txtenvironments.rst.txtfile_roots.rst.txtindex.rst.txtgrainsallindex.rst.txtsalt.grains.chronos.rst.txtsalt.grains.cimc.rst.txtsalt.grains.core.rst.txtsalt.grains.disks.rst.txtsalt.grains.esxi.rst.txtsalt.grains.extra.rst.txtsalt.grains.fibre_channel.rst.txtsalt.grains.fx2.rst.txtsalt.grains.iscsi.rst.txtsalt.grains.junos.rst.txtsalt.grains.lvm.rst.txtsalt.grains.marathon.rst.txtsalt.grains.mdadm.rst.txtsalt.grains.mdata.rst.txtsalt.grains.metadata.rst.txtsalt.grains.minion_process.rst.txtsalt.grains.napalm.rst.txtsalt.grains.nvme.rst.txtsalt.grains.nxos.rst.txtsalt.grains.opts.rst.txtsalt.grains.panos.rst.txtsalt.grains.pending_reboot.rst.txtsalt.grains.philips_hue.rst.txtsalt.grains.rest_sample.rst.txtsalt.grains.smartos.rst.txtsalt.grains.ssh_sample.rst.txtsalt.grains.zfs.rst.txtindex.rst.txtinternalsaggregation.rst.txtexceptions.rst.txtfileserver-and-client.rst.txtindex.rst.txtopts.rst.txtsalt.exceptions.rst.txtunicode.rst.txtmodulesallindex.rst.txtsalt.modules.acme.rst.txtsalt.modules.aix_group.rst.txtsalt.modules.aix_shadow.rst.txtsalt.modules.aixpkg.rst.txtsalt.modules.aliases.rst.txtsalt.modules.alternatives.rst.txtsalt.modules.ansiblegate.rst.txtsalt.modules.apache.rst.txtsalt.modules.apcups.rst.txtsalt.modules.apf.rst.txtsalt.modules.apkpkg.rst.txtsalt.modules.aptly.rst.txtsalt.modules.aptpkg.rst.txtsalt.modules.archive.rst.txtsalt.modules.arista_pyeapi.rst.txtsalt.modules.artifactory.rst.txtsalt.modules.at.rst.txtsalt.modules.at_solaris.rst.txtsalt.modules.augeas_cfg.rst.txtsalt.modules.aws_sqs.rst.txtsalt.modules.azurearm_compute.rst.txtsalt.modules.azurearm_dns.rst.txtsalt.modules.azurearm_network.rst.txtsalt.modules.azurearm_resource.rst.txtsalt.modules.bamboohr.rst.txtsalt.modules.baredoc.rst.txtsalt.modules.bcache.rst.txtsalt.modules.beacons.rst.txtsalt.modules.bigip.rst.txtsalt.modules.bluez_bluetooth.rst.txtsalt.modules.boto3_elasticache.rst.txtsalt.modules.boto3_elasticsearch.rst.txtsalt.modules.boto3_route53.rst.txtsalt.modules.boto3_sns.rst.txtsalt.modules.boto_apigateway.rst.txtsalt.modules.boto_asg.rst.txtsalt.modules.boto_cfn.rst.txtsalt.modules.boto_cloudfront.rst.txtsalt.modules.boto_cloudtrail.rst.txtsalt.modules.boto_cloudwatch.rst.txtsalt.modules.boto_cloudwatch_event.rst.txtsalt.modules.boto_cognitoidentity.rst.txtsalt.modules.boto_datapipeline.rst.txtsalt.modules.boto_dynamodb.rst.txtsalt.modules.boto_ec2.rst.txtsalt.modules.boto_efs.rst.txtsalt.modules.boto_elasticache.rst.txtsalt.modules.boto_elasticsearch_domain.rst.txtsalt.modules.boto_elb.rst.txtsalt.modules.boto_elbv2.rst.txtsalt.modules.boto_iam.rst.txtsalt.modules.boto_iot.rst.txtsalt.modules.boto_kinesis.rst.txtsalt.modules.boto_kms.rst.txtsalt.modules.boto_lambda.rst.txtsalt.modules.boto_rds.rst.txtsalt.modules.boto_route53.rst.txtsalt.modules.boto_s3.rst.txtsalt.modules.boto_s3_bucket.rst.txtsalt.modules.boto_secgroup.rst.txtsalt.modules.boto_sns.rst.txtsalt.modules.boto_sqs.rst.txtsalt.modules.boto_ssm.rst.txtsalt.modules.boto_vpc.rst.txtsalt.modules.bower.rst.txtsalt.modules.bridge.rst.txtsalt.modules.bsd_shadow.rst.txtsalt.modules.btrfs.rst.txtsalt.modules.cabal.rst.txtsalt.modules.capirca_acl.rst.txtsalt.modules.cassandra_cql.rst.txtsalt.modules.cassandra_mod.rst.txtsalt.modules.celery.rst.txtsalt.modules.ceph.rst.txtsalt.modules.chassis.rst.txtsalt.modules.chef.rst.txtsalt.modules.chocolatey.rst.txtsalt.modules.chronos.rst.txtsalt.modules.chroot.rst.txtsalt.modules.cimc.rst.txtsalt.modules.ciscoconfparse_mod.rst.txtsalt.modules.cisconso.rst.txtsalt.modules.cloud.rst.txtsalt.modules.cmdmod.rst.txtsalt.modules.composer.rst.txtsalt.modules.config.rst.txtsalt.modules.consul.rst.txtsalt.modules.container_resource.rst.txtsalt.modules.cp.rst.txtsalt.modules.cpan.rst.txtsalt.modules.cron.rst.txtsalt.modules.cryptdev.rst.txtsalt.modules.csf.rst.txtsalt.modules.cyg.rst.txtsalt.modules.daemontools.rst.txtsalt.modules.data.rst.txtsalt.modules.datadog_api.rst.txtsalt.modules.ddns.rst.txtsalt.modules.deb_apache.rst.txtsalt.modules.deb_postgres.rst.txtsalt.modules.debconfmod.rst.txtsalt.modules.debian_ip.rst.txtsalt.modules.debian_service.rst.txtsalt.modules.debuild_pkgbuild.rst.txtsalt.modules.defaults.rst.txtsalt.modules.devinfo.rst.txtsalt.modules.devmap.rst.txtsalt.modules.dig.rst.txtsalt.modules.disk.rst.txtsalt.modules.djangomod.rst.txtsalt.modules.dnsmasq.rst.txtsalt.modules.dnsutil.rst.txtsalt.modules.dockercompose.rst.txtsalt.modules.dockermod.rst.txtsalt.modules.dpkg_lowpkg.rst.txtsalt.modules.drac.rst.txtsalt.modules.dracr.rst.txtsalt.modules.drbd.rst.txtsalt.modules.dummyproxy_pkg.rst.txtsalt.modules.dummyproxy_service.rst.txtsalt.modules.ebuildpkg.rst.txtsalt.modules.eix.rst.txtsalt.modules.elasticsearch.rst.txtsalt.modules.environ.rst.txtsalt.modules.eselect.rst.txtsalt.modules.esxcluster.rst.txtsalt.modules.esxdatacenter.rst.txtsalt.modules.esxi.rst.txtsalt.modules.esxvm.rst.txtsalt.modules.etcd_mod.rst.txtsalt.modules.ethtool.rst.txtsalt.modules.event.rst.txtsalt.modules.extfs.rst.txtsalt.modules.file.rst.txtsalt.modules.firewalld.rst.txtsalt.modules.freebsd_sysctl.rst.txtsalt.modules.freebsd_update.rst.txtsalt.modules.freebsdjail.rst.txtsalt.modules.freebsdkmod.rst.txtsalt.modules.freebsdpkg.rst.txtsalt.modules.freebsdports.rst.txtsalt.modules.freebsdservice.rst.txtsalt.modules.freezer.rst.txtsalt.modules.gcp_addon.rst.txtsalt.modules.gem.rst.txtsalt.modules.genesis.rst.txtsalt.modules.gentoo_service.rst.txtsalt.modules.gentoolkitmod.rst.txtsalt.modules.git.rst.txtsalt.modules.github.rst.txtsalt.modules.glanceng.rst.txtsalt.modules.glassfish.rst.txtsalt.modules.glusterfs.rst.txtsalt.modules.gnomedesktop.rst.txtsalt.modules.google_chat.rst.txtsalt.modules.gpg.rst.txtsalt.modules.grafana4.rst.txtsalt.modules.grains.rst.txtsalt.modules.group.rst.txtsalt.modules.groupadd.rst.txtsalt.modules.grub_legacy.rst.txtsalt.modules.guestfs.rst.txtsalt.modules.hadoop.rst.txtsalt.modules.haproxyconn.rst.txtsalt.modules.hashutil.rst.txtsalt.modules.heat.rst.txtsalt.modules.helm.rst.txtsalt.modules.hg.rst.txtsalt.modules.highstate_doc.rst.txtsalt.modules.hosts.rst.txtsalt.modules.http.rst.txtsalt.modules.icinga2.rst.txtsalt.modules.idem.rst.txtsalt.modules.ifttt.rst.txtsalt.modules.ilo.rst.txtsalt.modules.incron.rst.txtsalt.modules.influxdb08mod.rst.txtsalt.modules.influxdbmod.rst.txtsalt.modules.infoblox.rst.txtsalt.modules.ini_manage.rst.txtsalt.modules.inspectlib.collector.rst.txtsalt.modules.inspectlib.dbhandle.rst.txtsalt.modules.inspectlib.entities.rst.txtsalt.modules.inspectlib.exceptions.rst.txtsalt.modules.inspectlib.fsdb.rst.txtsalt.modules.inspectlib.kiwiproc.rst.txtsalt.modules.inspectlib.query.rst.txtsalt.modules.inspectlib.rst.txtsalt.modules.inspector.rst.txtsalt.modules.introspect.rst.txtsalt.modules.iosconfig.rst.txtsalt.modules.ipmi.rst.txtsalt.modules.ipset.rst.txtsalt.modules.iptables.rst.txtsalt.modules.iwtools.rst.txtsalt.modules.jboss7.rst.txtsalt.modules.jboss7_cli.rst.txtsalt.modules.jenkinsmod.rst.txtsalt.modules.jinja.rst.txtsalt.modules.jira_mod.rst.txtsalt.modules.junos.rst.txtsalt.modules.k8s.rst.txtsalt.modules.kapacitor.rst.txtsalt.modules.kerberos.rst.txtsalt.modules.kernelpkg.rst.txtsalt.modules.kernelpkg_linux_apt.rst.txtsalt.modules.kernelpkg_linux_yum.rst.txtsalt.modules.key.rst.txtsalt.modules.keyboard.rst.txtsalt.modules.keystone.rst.txtsalt.modules.keystoneng.rst.txtsalt.modules.keystore.rst.txtsalt.modules.kmod.rst.txtsalt.modules.kubeadm.rst.txtsalt.modules.kubernetesmod.rst.txtsalt.modules.launchctl_service.rst.txtsalt.modules.layman.rst.txtsalt.modules.ldap3.rst.txtsalt.modules.ldapmod.rst.txtsalt.modules.libcloud_compute.rst.txtsalt.modules.libcloud_dns.rst.txtsalt.modules.libcloud_loadbalancer.rst.txtsalt.modules.libcloud_storage.rst.txtsalt.modules.linux_acl.rst.txtsalt.modules.linux_ip.rst.txtsalt.modules.linux_lvm.rst.txtsalt.modules.linux_service.rst.txtsalt.modules.linux_shadow.rst.txtsalt.modules.linux_sysctl.rst.txtsalt.modules.localemod.rst.txtsalt.modules.locate.rst.txtsalt.modules.logadm.rst.txtsalt.modules.logmod.rst.txtsalt.modules.logrotate.rst.txtsalt.modules.lvs.rst.txtsalt.modules.lxc.rst.txtsalt.modules.lxd.rst.txtsalt.modules.mac_assistive.rst.txtsalt.modules.mac_brew_pkg.rst.txtsalt.modules.mac_desktop.rst.txtsalt.modules.mac_group.rst.txtsalt.modules.mac_keychain.rst.txtsalt.modules.mac_pkgutil.rst.txtsalt.modules.mac_portspkg.rst.txtsalt.modules.mac_power.rst.txtsalt.modules.mac_service.rst.txtsalt.modules.mac_shadow.rst.txtsalt.modules.mac_softwareupdate.rst.txtsalt.modules.mac_sysctl.rst.txtsalt.modules.mac_system.rst.txtsalt.modules.mac_timezone.rst.txtsalt.modules.mac_user.rst.txtsalt.modules.mac_xattr.rst.txtsalt.modules.macdefaults.rst.txtsalt.modules.macpackage.rst.txtsalt.modules.makeconf.rst.txtsalt.modules.mandrill.rst.txtsalt.modules.marathon.rst.txtsalt.modules.match.rst.txtsalt.modules.mattermost.rst.txtsalt.modules.mdadm_raid.rst.txtsalt.modules.mdata.rst.txtsalt.modules.memcached.rst.txtsalt.modules.mine.rst.txtsalt.modules.minion.rst.txtsalt.modules.mod_random.rst.txtsalt.modules.modjk.rst.txtsalt.modules.mongodb.rst.txtsalt.modules.monit.rst.txtsalt.modules.moosefs.rst.txtsalt.modules.mount.rst.txtsalt.modules.mssql.rst.txtsalt.modules.msteams.rst.txtsalt.modules.munin.rst.txtsalt.modules.mysql.rst.txtsalt.modules.nacl.rst.txtsalt.modules.nagios.rst.txtsalt.modules.nagios_rpc.rst.txtsalt.modules.namecheap_domains.rst.txtsalt.modules.namecheap_domains_dns.rst.txtsalt.modules.namecheap_domains_ns.rst.txtsalt.modules.namecheap_ssl.rst.txtsalt.modules.namecheap_users.rst.txtsalt.modules.napalm_bgp.rst.txtsalt.modules.napalm_formula.rst.txtsalt.modules.napalm_mod.rst.txtsalt.modules.napalm_netacl.rst.txtsalt.modules.napalm_network.rst.txtsalt.modules.napalm_ntp.rst.txtsalt.modules.napalm_probes.rst.txtsalt.modules.napalm_route.rst.txtsalt.modules.napalm_snmp.rst.txtsalt.modules.napalm_users.rst.txtsalt.modules.napalm_yang_mod.rst.txtsalt.modules.netaddress.rst.txtsalt.modules.netbox.rst.txtsalt.modules.netbsd_sysctl.rst.txtsalt.modules.netbsdservice.rst.txtsalt.modules.netmiko_mod.rst.txtsalt.modules.netscaler.rst.txtsalt.modules.network.rst.txtsalt.modules.neutron.rst.txtsalt.modules.neutronng.rst.txtsalt.modules.nexus.rst.txtsalt.modules.nfs3.rst.txtsalt.modules.nftables.rst.txtsalt.modules.nginx.rst.txtsalt.modules.nilrt_ip.rst.txtsalt.modules.nix.rst.txtsalt.modules.nova.rst.txtsalt.modules.npm.rst.txtsalt.modules.nspawn.rst.txtsalt.modules.nxos.rst.txtsalt.modules.nxos_api.rst.txtsalt.modules.nxos_upgrade.rst.txtsalt.modules.omapi.rst.txtsalt.modules.openbsd_sysctl.rst.txtsalt.modules.openbsdpkg.rst.txtsalt.modules.openbsdrcctl_service.rst.txtsalt.modules.openbsdservice.rst.txtsalt.modules.openscap.rst.txtsalt.modules.openstack_config.rst.txtsalt.modules.openstack_mng.rst.txtsalt.modules.openvswitch.rst.txtsalt.modules.opkg.rst.txtsalt.modules.opsgenie.rst.txtsalt.modules.oracle.rst.txtsalt.modules.osquery.rst.txtsalt.modules.out.rst.txtsalt.modules.pacmanpkg.rst.txtsalt.modules.pagerduty.rst.txtsalt.modules.pagerduty_util.rst.txtsalt.modules.pam.rst.txtsalt.modules.panos.rst.txtsalt.modules.parallels.rst.txtsalt.modules.parted_partition.rst.txtsalt.modules.pcs.rst.txtsalt.modules.pdbedit.rst.txtsalt.modules.pecl.rst.txtsalt.modules.peeringdb.rst.txtsalt.modules.pf.rst.txtsalt.modules.philips_hue.rst.txtsalt.modules.pillar.rst.txtsalt.modules.pip.rst.txtsalt.modules.pkg.rst.txtsalt.modules.pkg_resource.rst.txtsalt.modules.pkgin.rst.txtsalt.modules.pkgng.rst.txtsalt.modules.pkgutil.rst.txtsalt.modules.portage_config.rst.txtsalt.modules.postfix.rst.txtsalt.modules.postgres.rst.txtsalt.modules.poudriere.rst.txtsalt.modules.powerpath.rst.txtsalt.modules.proxy.rst.txtsalt.modules.ps.rst.txtsalt.modules.publish.rst.txtsalt.modules.puppet.rst.txtsalt.modules.purefa.rst.txtsalt.modules.purefb.rst.txtsalt.modules.pushbullet.rst.txtsalt.modules.pushover_notify.rst.txtsalt.modules.pw_group.rst.txtsalt.modules.pw_user.rst.txtsalt.modules.pyenv.rst.txtsalt.modules.qemu_img.rst.txtsalt.modules.qemu_nbd.rst.txtsalt.modules.quota.rst.txtsalt.modules.rabbitmq.rst.txtsalt.modules.rallydev.rst.txtsalt.modules.random_org.rst.txtsalt.modules.rbac_solaris.rst.txtsalt.modules.rbenv.rst.txtsalt.modules.rdp.rst.txtsalt.modules.rebootmgr.rst.txtsalt.modules.redismod.rst.txtsalt.modules.reg.rst.txtsalt.modules.rest_pkg.rst.txtsalt.modules.rest_sample_utils.rst.txtsalt.modules.rest_service.rst.txtsalt.modules.restartcheck.rst.txtsalt.modules.ret.rst.txtsalt.modules.rh_ip.rst.txtsalt.modules.rh_service.rst.txtsalt.modules.riak.rst.txtsalt.modules.rpm_lowpkg.rst.txtsalt.modules.rpmbuild_pkgbuild.rst.txtsalt.modules.rsync.rst.txtsalt.modules.runit.rst.txtsalt.modules.rvm.rst.txtsalt.modules.s3.rst.txtsalt.modules.s6.rst.txtsalt.modules.salt_proxy.rst.txtsalt.modules.salt_version.rst.txtsalt.modules.saltcheck.rst.txtsalt.modules.saltcloudmod.rst.txtsalt.modules.saltsupport.rst.txtsalt.modules.saltutil.rst.txtsalt.modules.schedule.rst.txtsalt.modules.scp_mod.rst.txtsalt.modules.scsi.rst.txtsalt.modules.sdb.rst.txtsalt.modules.seed.rst.txtsalt.modules.selinux.rst.txtsalt.modules.sensehat.rst.txtsalt.modules.sensors.rst.txtsalt.modules.serverdensity_device.rst.txtsalt.modules.service.rst.txtsalt.modules.servicenow.rst.txtsalt.modules.shadow.rst.txtsalt.modules.slack_notify.rst.txtsalt.modules.slackware_service.rst.txtsalt.modules.slsutil.rst.txtsalt.modules.smartos_imgadm.rst.txtsalt.modules.smartos_nictagadm.rst.txtsalt.modules.smartos_virt.rst.txtsalt.modules.smartos_vmadm.rst.txtsalt.modules.smbios.rst.txtsalt.modules.smf_service.rst.txtsalt.modules.smtp.rst.txtsalt.modules.snapper.rst.txtsalt.modules.solaris_fmadm.rst.txtsalt.modules.solaris_group.rst.txtsalt.modules.solaris_shadow.rst.txtsalt.modules.solaris_system.rst.txtsalt.modules.solaris_user.rst.txtsalt.modules.solarisipspkg.rst.txtsalt.modules.solarispkg.rst.txtsalt.modules.solr.rst.txtsalt.modules.solrcloud.rst.txtsalt.modules.splunk.rst.txtsalt.modules.splunk_search.rst.txtsalt.modules.sqlite3.rst.txtsalt.modules.ssh.rst.txtsalt.modules.ssh_pkg.rst.txtsalt.modules.ssh_service.rst.txtsalt.modules.state.rst.txtsalt.modules.status.rst.txtsalt.modules.statuspage.rst.txtsalt.modules.supervisord.rst.txtsalt.modules.suse_apache.rst.txtsalt.modules.svn.rst.txtsalt.modules.swarm.rst.txtsalt.modules.swift.rst.txtsalt.modules.sysbench.rst.txtsalt.modules.sysctl.rst.txtsalt.modules.sysfs.rst.txtsalt.modules.syslog_ng.rst.txtsalt.modules.sysmod.rst.txtsalt.modules.sysrc.rst.txtsalt.modules.system.rst.txtsalt.modules.system_profiler.rst.txtsalt.modules.systemd_service.rst.txtsalt.modules.telegram.rst.txtsalt.modules.telemetry.rst.txtsalt.modules.temp.rst.txtsalt.modules.test.rst.txtsalt.modules.test_virtual.rst.txtsalt.modules.testinframod.rst.txtsalt.modules.textfsm_mod.rst.txtsalt.modules.timezone.rst.txtsalt.modules.tls.rst.txtsalt.modules.tomcat.rst.txtsalt.modules.trafficserver.rst.txtsalt.modules.transactional_update.rst.txtsalt.modules.travisci.rst.txtsalt.modules.tuned.rst.txtsalt.modules.twilio_notify.rst.txtsalt.modules.udev.rst.txtsalt.modules.upstart_service.rst.txtsalt.modules.uptime.rst.txtsalt.modules.user.rst.txtsalt.modules.useradd.rst.txtsalt.modules.uwsgi.rst.txtsalt.modules.vagrant.rst.txtsalt.modules.varnish.rst.txtsalt.modules.vault.rst.txtsalt.modules.vbox_guest.rst.txtsalt.modules.vboxmanage.rst.txtsalt.modules.vcenter.rst.txtsalt.modules.victorops.rst.txtsalt.modules.virt.rst.txtsalt.modules.virtualenv_mod.rst.txtsalt.modules.vmctl.rst.txtsalt.modules.vsphere.rst.txtsalt.modules.webutil.rst.txtsalt.modules.win_auditpol.rst.txtsalt.modules.win_autoruns.rst.txtsalt.modules.win_certutil.rst.txtsalt.modules.win_dacl.rst.txtsalt.modules.win_disk.rst.txtsalt.modules.win_dism.rst.txtsalt.modules.win_dns_client.rst.txtsalt.modules.win_dsc.rst.txtsalt.modules.win_file.rst.txtsalt.modules.win_firewall.rst.txtsalt.modules.win_groupadd.rst.txtsalt.modules.win_iis.rst.txtsalt.modules.win_ip.rst.txtsalt.modules.win_lgpo.rst.txtsalt.modules.win_license.rst.txtsalt.modules.win_network.rst.txtsalt.modules.win_ntp.rst.txtsalt.modules.win_path.rst.txtsalt.modules.win_pkg.rst.txtsalt.modules.win_pki.rst.txtsalt.modules.win_powercfg.rst.txtsalt.modules.win_psget.rst.txtsalt.modules.win_servermanager.rst.txtsalt.modules.win_service.rst.txtsalt.modules.win_shadow.rst.txtsalt.modules.win_smtp_server.rst.txtsalt.modules.win_snmp.rst.txtsalt.modules.win_status.rst.txtsalt.modules.win_system.rst.txtsalt.modules.win_task.rst.txtsalt.modules.win_timezone.rst.txtsalt.modules.win_useradd.rst.txtsalt.modules.win_wua.rst.txtsalt.modules.win_wusa.rst.txtsalt.modules.winrepo.rst.txtsalt.modules.wordpress.rst.txtsalt.modules.x509.rst.txtsalt.modules.xapi_virt.rst.txtsalt.modules.xbpspkg.rst.txtsalt.modules.xfs.rst.txtsalt.modules.xml.rst.txtsalt.modules.xmpp.rst.txtsalt.modules.yumpkg.rst.txtsalt.modules.zabbix.rst.txtsalt.modules.zcbuildout.rst.txtsalt.modules.zenoss.rst.txtsalt.modules.zfs.rst.txtsalt.modules.zk_concurrency.rst.txtsalt.modules.znc.rst.txtsalt.modules.zoneadm.rst.txtsalt.modules.zonecfg.rst.txtsalt.modules.zookeeper.rst.txtsalt.modules.zpool.rst.txtsalt.modules.zypperpkg.rst.txtindex.rst.txtnetapiallindex.rst.txtsalt.netapi.rest_cherrypy.rst.txtsalt.netapi.rest_tornado.rst.txtsalt.netapi.rest_wsgi.rst.txtoutputallindex.rst.txtsalt.output.dson.rst.txtsalt.output.highstate.rst.txtsalt.output.json_out.rst.txtsalt.output.key.rst.txtsalt.output.nested.rst.txtsalt.output.newline_values_only.rst.txtsalt.output.no_out_quiet.rst.txtsalt.output.no_return.rst.txtsalt.output.overstatestage.rst.txtsalt.output.pony.rst.txtsalt.output.pprint_out.rst.txtsalt.output.profile.rst.txtsalt.output.progress.rst.txtsalt.output.raw.rst.txtsalt.output.table_out.rst.txtsalt.output.txt.rst.txtsalt.output.virt_query.rst.txtsalt.output.yaml_out.rst.txtpeer.rst.txtpillarallindex.rst.txtsalt.pillar.azureblob.rst.txtsalt.pillar.cmd_json.rst.txtsalt.pillar.cmd_yaml.rst.txtsalt.pillar.cmd_yamlex.rst.txtsalt.pillar.cobbler.rst.txtsalt.pillar.confidant.rst.txtsalt.pillar.consul_pillar.rst.txtsalt.pillar.csvpillar.rst.txtsalt.pillar.digicert.rst.txtsalt.pillar.django_orm.rst.txtsalt.pillar.ec2_pillar.rst.txtsalt.pillar.etcd_pillar.rst.txtsalt.pillar.extra_minion_data_in_pillar.rst.txtsalt.pillar.file_tree.rst.txtsalt.pillar.foreman.rst.txtsalt.pillar.git_pillar.rst.txtsalt.pillar.gpg.rst.txtsalt.pillar.hg_pillar.rst.txtsalt.pillar.hiera.rst.txtsalt.pillar.http_json.rst.txtsalt.pillar.http_yaml.rst.txtsalt.pillar.libvirt.rst.txtsalt.pillar.makostack.rst.txtsalt.pillar.mongo.rst.txtsalt.pillar.mysql.rst.txtsalt.pillar.nacl.rst.txtsalt.pillar.netbox.rst.txtsalt.pillar.neutron.rst.txtsalt.pillar.nodegroups.rst.txtsalt.pillar.pepa.rst.txtsalt.pillar.pillar_ldap.rst.txtsalt.pillar.postgres.rst.txtsalt.pillar.puppet.rst.txtsalt.pillar.reclass_adapter.rst.txtsalt.pillar.redismod.rst.txtsalt.pillar.rethinkdb_pillar.rst.txtsalt.pillar.s3.rst.txtsalt.pillar.saltclass.rst.txtsalt.pillar.sql_base.rst.txtsalt.pillar.sqlcipher.rst.txtsalt.pillar.sqlite3.rst.txtsalt.pillar.stack.rst.txtsalt.pillar.svn_pillar.rst.txtsalt.pillar.varstack_pillar.rst.txtsalt.pillar.vault.rst.txtsalt.pillar.venafi.rst.txtsalt.pillar.virtkey.rst.txtsalt.pillar.vmware_pillar.rst.txtindex.rst.txtproxyallindex.rst.txtsalt.proxy.arista_pyeapi.rst.txtsalt.proxy.chronos.rst.txtsalt.proxy.cimc.rst.txtsalt.proxy.cisconso.rst.txtsalt.proxy.deltaproxy.rst.txtsalt.proxy.docker.rst.txtsalt.proxy.dummy.rst.txtsalt.proxy.esxcluster.rst.txtsalt.proxy.esxdatacenter.rst.txtsalt.proxy.esxi.rst.txtsalt.proxy.esxvm.rst.txtsalt.proxy.fx2.rst.txtsalt.proxy.junos.rst.txtsalt.proxy.marathon.rst.txtsalt.proxy.napalm.rst.txtsalt.proxy.netmiko_px.rst.txtsalt.proxy.nxos.rst.txtsalt.proxy.nxos_api.rst.txtsalt.proxy.panos.rst.txtsalt.proxy.philips_hue.rst.txtsalt.proxy.rest_sample.rst.txtsalt.proxy.ssh_sample.rst.txtsalt.proxy.vcenter.rst.txtpublisheracl.rst.txtpython-api.rst.txtqueuesallindex.rst.txtsalt.queues.pgjsonb_queue.rst.txtsalt.queues.sqlite_queue.rst.txtrenderersallindex.rst.txtsalt.renderers.aws_kms.rst.txtsalt.renderers.cheetah.rst.txtsalt.renderers.dson.rst.txtsalt.renderers.genshi.rst.txtsalt.renderers.gpg.rst.txtsalt.renderers.hjson.rst.txtsalt.renderers.jinja.rst.txtsalt.renderers.json.rst.txtsalt.renderers.json5.rst.txtsalt.renderers.mako.rst.txtsalt.renderers.msgpack.rst.txtsalt.renderers.nacl.rst.txtsalt.renderers.pass.rst.txtsalt.renderers.py.rst.txtsalt.renderers.pydsl.rst.txtsalt.renderers.pyobjects.rst.txtsalt.renderers.stateconf.rst.txtsalt.renderers.tomlmod.rst.txtsalt.renderers.wempy.rst.txtsalt.renderers.yaml.rst.txtsalt.renderers.yamlex.rst.txtindex.rst.txtreturnersallindex.rst.txtsalt.returners.appoptics_return.rst.txtsalt.returners.carbon_return.rst.txtsalt.returners.cassandra_cql_return.rst.txtsalt.returners.cassandra_return.rst.txtsalt.returners.couchbase_return.rst.txtsalt.returners.couchdb_return.rst.txtsalt.returners.django_return.rst.txtsalt.returners.elasticsearch_return.rst.txtsalt.returners.etcd_return.rst.txtsalt.returners.highstate_return.rst.txtsalt.returners.influxdb_return.rst.txtsalt.returners.kafka_return.rst.txtsalt.returners.librato_return.rst.txtsalt.returners.local.rst.txtsalt.returners.local_cache.rst.txtsalt.returners.mattermost_returner.rst.txtsalt.returners.memcache_return.rst.txtsalt.returners.mongo_future_return.rst.txtsalt.returners.mongo_return.rst.txtsalt.returners.multi_returner.rst.txtsalt.returners.mysql.rst.txtsalt.returners.nagios_nrdp_return.rst.txtsalt.returners.odbc.rst.txtsalt.returners.pgjsonb.rst.txtsalt.returners.postgres.rst.txtsalt.returners.postgres_local_cache.rst.txtsalt.returners.pushover_returner.rst.txtsalt.returners.rawfile_json.rst.txtsalt.returners.redis_return.rst.txtsalt.returners.sentry_return.rst.txtsalt.returners.slack_returner.rst.txtsalt.returners.slack_webhook_return.rst.txtsalt.returners.sms_return.rst.txtsalt.returners.smtp_return.rst.txtsalt.returners.splunk.rst.txtsalt.returners.sqlite3_return.rst.txtsalt.returners.syslog_return.rst.txtsalt.returners.telegram_return.rst.txtsalt.returners.xmpp_return.rst.txtsalt.returners.zabbix_return.rst.txtindex.rst.txtrosterallindex.rst.txtsalt.roster.ansible.rst.txtsalt.roster.cache.rst.txtsalt.roster.cloud.rst.txtsalt.roster.clustershell.rst.txtsalt.roster.dir.rst.txtsalt.roster.flat.rst.txtsalt.roster.range.rst.txtsalt.roster.scan.rst.txtsalt.roster.sshconfig.rst.txtsalt.roster.terraform.rst.txtrunnersallindex.rst.txtsalt.runners.asam.rst.txtsalt.runners.auth.rst.txtsalt.runners.bgp.rst.txtsalt.runners.cache.rst.txtsalt.runners.cloud.rst.txtsalt.runners.config.rst.txtsalt.runners.ddns.rst.txtsalt.runners.digicertapi.rst.txtsalt.runners.doc.rst.txtsalt.runners.drac.rst.txtsalt.runners.error.rst.txtsalt.runners.event.rst.txtsalt.runners.f5.rst.txtsalt.runners.fileserver.rst.txtsalt.runners.git_pillar.rst.txtsalt.runners.http.rst.txtsalt.runners.jobs.rst.txtsalt.runners.launchd.rst.txtsalt.runners.lxc.rst.txtsalt.runners.manage.rst.txtsalt.runners.mattermost.rst.txtsalt.runners.mine.rst.txtsalt.runners.nacl.rst.txtsalt.runners.net.rst.txtsalt.runners.network.rst.txtsalt.runners.pagerduty.rst.txtsalt.runners.pillar.rst.txtsalt.runners.pkg.rst.txtsalt.runners.queue.rst.txtsalt.runners.reactor.rst.txtsalt.runners.salt.rst.txtsalt.runners.saltutil.rst.txtsalt.runners.sdb.rst.txtsalt.runners.smartos_vmadm.rst.txtsalt.runners.spacewalk.rst.txtsalt.runners.ssh.rst.txtsalt.runners.state.rst.txtsalt.runners.survey.rst.txtsalt.runners.test.rst.txtsalt.runners.thin.rst.txtsalt.runners.vault.rst.txtsalt.runners.venafiapi.rst.txtsalt.runners.virt.rst.txtsalt.runners.vistara.rst.txtsalt.runners.winrepo.rst.txtindex.rst.txtsdballindex.rst.txtsalt.sdb.cache.rst.txtsalt.sdb.confidant.rst.txtsalt.sdb.consul.rst.txtsalt.sdb.couchdb.rst.txtsalt.sdb.env.rst.txtsalt.sdb.etcd_db.rst.txtsalt.sdb.keyring_db.rst.txtsalt.sdb.memcached.rst.txtsalt.sdb.redis_sdb.rst.txtsalt.sdb.rest.rst.txtsalt.sdb.sqlite3.rst.txtsalt.sdb.tism.rst.txtsalt.sdb.vault.rst.txtsalt.sdb.yaml.rst.txtserializersallindex.rst.txtsalt.serializers.configparser.rst.txtsalt.serializers.json.rst.txtsalt.serializers.msgpack.rst.txtsalt.serializers.plist.rst.txtsalt.serializers.python.rst.txtsalt.serializers.toml.rst.txtsalt.serializers.yaml.rst.txtsalt.serializers.yamlex.rst.txtstatesaggregate.rst.txtallindex.rst.txtsalt.states.acme.rst.txtsalt.states.alias.rst.txtsalt.states.alternatives.rst.txtsalt.states.ansiblegate.rst.txtsalt.states.apache.rst.txtsalt.states.apache_conf.rst.txtsalt.states.apache_module.rst.txtsalt.states.apache_site.rst.txtsalt.states.aptpkg.rst.txtsalt.states.archive.rst.txtsalt.states.artifactory.rst.txtsalt.states.at.rst.txtsalt.states.augeas.rst.txtsalt.states.aws_sqs.rst.txtsalt.states.azurearm_compute.rst.txtsalt.states.azurearm_dns.rst.txtsalt.states.azurearm_network.rst.txtsalt.states.azurearm_resource.rst.txtsalt.states.beacon.rst.txtsalt.states.bigip.rst.txtsalt.states.blockdev.rst.txtsalt.states.boto3_elasticache.rst.txtsalt.states.boto3_elasticsearch.rst.txtsalt.states.boto3_route53.rst.txtsalt.states.boto3_sns.rst.txtsalt.states.boto_apigateway.rst.txtsalt.states.boto_asg.rst.txtsalt.states.boto_cfn.rst.txtsalt.states.boto_cloudfront.rst.txtsalt.states.boto_cloudtrail.rst.txtsalt.states.boto_cloudwatch_alarm.rst.txtsalt.states.boto_cloudwatch_event.rst.txtsalt.states.boto_cognitoidentity.rst.txtsalt.states.boto_datapipeline.rst.txtsalt.states.boto_dynamodb.rst.txtsalt.states.boto_ec2.rst.txtsalt.states.boto_elasticache.rst.txtsalt.states.boto_elasticsearch_domain.rst.txtsalt.states.boto_elb.rst.txtsalt.states.boto_elbv2.rst.txtsalt.states.boto_iam.rst.txtsalt.states.boto_iam_role.rst.txtsalt.states.boto_iot.rst.txtsalt.states.boto_kinesis.rst.txtsalt.states.boto_kms.rst.txtsalt.states.boto_lambda.rst.txtsalt.states.boto_lc.rst.txtsalt.states.boto_rds.rst.txtsalt.states.boto_route53.rst.txtsalt.states.boto_s3.rst.txtsalt.states.boto_s3_bucket.rst.txtsalt.states.boto_secgroup.rst.txtsalt.states.boto_sns.rst.txtsalt.states.boto_sqs.rst.txtsalt.states.boto_vpc.rst.txtsalt.states.bower.rst.txtsalt.states.btrfs.rst.txtsalt.states.cabal.rst.txtsalt.states.ceph.rst.txtsalt.states.chef.rst.txtsalt.states.chocolatey.rst.txtsalt.states.chronos_job.rst.txtsalt.states.cimc.rst.txtsalt.states.cisconso.rst.txtsalt.states.cloud.rst.txtsalt.states.cmd.rst.txtsalt.states.composer.rst.txtsalt.states.cron.rst.txtsalt.states.cryptdev.rst.txtsalt.states.csf.rst.txtsalt.states.cyg.rst.txtsalt.states.ddns.rst.txtsalt.states.debconfmod.rst.txtsalt.states.dellchassis.rst.txtsalt.states.disk.rst.txtsalt.states.docker_container.rst.txtsalt.states.docker_image.rst.txtsalt.states.docker_network.rst.txtsalt.states.docker_volume.rst.txtsalt.states.drac.rst.txtsalt.states.dvs.rst.txtsalt.states.elasticsearch.rst.txtsalt.states.elasticsearch_index.rst.txtsalt.states.elasticsearch_index_template.rst.txtsalt.states.environ.rst.txtsalt.states.eselect.rst.txtsalt.states.esxcluster.rst.txtsalt.states.esxdatacenter.rst.txtsalt.states.esxi.rst.txtsalt.states.esxvm.rst.txtsalt.states.etcd_mod.rst.txtsalt.states.ethtool.rst.txtsalt.states.event.rst.txtsalt.states.file.rst.txtsalt.states.firewall.rst.txtsalt.states.firewalld.rst.txtsalt.states.gem.rst.txtsalt.states.git.rst.txtsalt.states.github.rst.txtsalt.states.glance_image.rst.txtsalt.states.glassfish.rst.txtsalt.states.glusterfs.rst.txtsalt.states.gnomedesktop.rst.txtsalt.states.gpg.rst.txtsalt.states.grafana.rst.txtsalt.states.grafana4_dashboard.rst.txtsalt.states.grafana4_datasource.rst.txtsalt.states.grafana4_org.rst.txtsalt.states.grafana4_user.rst.txtsalt.states.grafana_dashboard.rst.txtsalt.states.grafana_datasource.rst.txtsalt.states.grains.rst.txtsalt.states.group.rst.txtsalt.states.heat.rst.txtsalt.states.helm.rst.txtsalt.states.hg.rst.txtsalt.states.highstate_doc.rst.txtsalt.states.host.rst.txtsalt.states.http.rst.txtsalt.states.icinga2.rst.txtsalt.states.idem.rst.txtsalt.states.ifttt.rst.txtsalt.states.incron.rst.txtsalt.states.influxdb08_database.rst.txtsalt.states.influxdb08_user.rst.txtsalt.states.influxdb_continuous_query.rst.txtsalt.states.influxdb_database.rst.txtsalt.states.influxdb_retention_policy.rst.txtsalt.states.influxdb_user.rst.txtsalt.states.infoblox_a.rst.txtsalt.states.infoblox_cname.rst.txtsalt.states.infoblox_host_record.rst.txtsalt.states.infoblox_range.rst.txtsalt.states.ini_manage.rst.txtsalt.states.ipmi.rst.txtsalt.states.ipset.rst.txtsalt.states.iptables.rst.txtsalt.states.jboss7.rst.txtsalt.states.jenkins.rst.txtsalt.states.junos.rst.txtsalt.states.kapacitor.rst.txtsalt.states.kernelpkg.rst.txtsalt.states.keyboard.rst.txtsalt.states.keystone.rst.txtsalt.states.keystone_domain.rst.txtsalt.states.keystone_endpoint.rst.txtsalt.states.keystone_group.rst.txtsalt.states.keystone_project.rst.txtsalt.states.keystone_role.rst.txtsalt.states.keystone_role_grant.rst.txtsalt.states.keystone_service.rst.txtsalt.states.keystone_user.rst.txtsalt.states.keystore.rst.txtsalt.states.kmod.rst.txtsalt.states.kubernetes.rst.txtsalt.states.layman.rst.txtsalt.states.ldap.rst.txtsalt.states.libcloud_dns.rst.txtsalt.states.libcloud_loadbalancer.rst.txtsalt.states.libcloud_storage.rst.txtsalt.states.linux_acl.rst.txtsalt.states.locale.rst.txtsalt.states.logadm.rst.txtsalt.states.logrotate.rst.txtsalt.states.loop.rst.txtsalt.states.lvm.rst.txtsalt.states.lvs_server.rst.txtsalt.states.lvs_service.rst.txtsalt.states.lxc.rst.txtsalt.states.lxd.rst.txtsalt.states.lxd_container.rst.txtsalt.states.lxd_image.rst.txtsalt.states.lxd_profile.rst.txtsalt.states.mac_assistive.rst.txtsalt.states.mac_keychain.rst.txtsalt.states.mac_xattr.rst.txtsalt.states.macdefaults.rst.txtsalt.states.macpackage.rst.txtsalt.states.makeconf.rst.txtsalt.states.marathon_app.rst.txtsalt.states.mdadm_raid.rst.txtsalt.states.memcached.rst.txtsalt.states.modjk.rst.txtsalt.states.modjk_worker.rst.txtsalt.states.module.rst.txtsalt.states.mongodb_database.rst.txtsalt.states.mongodb_user.rst.txtsalt.states.monit.rst.txtsalt.states.mount.rst.txtsalt.states.mssql_database.rst.txtsalt.states.mssql_login.rst.txtsalt.states.mssql_role.rst.txtsalt.states.mssql_user.rst.txtsalt.states.msteams.rst.txtsalt.states.mysql_database.rst.txtsalt.states.mysql_grants.rst.txtsalt.states.mysql_query.rst.txtsalt.states.mysql_user.rst.txtsalt.states.net_napalm_yang.rst.txtsalt.states.netacl.rst.txtsalt.states.netconfig.rst.txtsalt.states.netntp.rst.txtsalt.states.netsnmp.rst.txtsalt.states.netusers.rst.txtsalt.states.network.rst.txtsalt.states.neutron_network.rst.txtsalt.states.neutron_secgroup.rst.txtsalt.states.neutron_secgroup_rule.rst.txtsalt.states.neutron_subnet.rst.txtsalt.states.nexus.rst.txtsalt.states.nfs_export.rst.txtsalt.states.nftables.rst.txtsalt.states.npm.rst.txtsalt.states.ntp.rst.txtsalt.states.nxos.rst.txtsalt.states.nxos_upgrade.rst.txtsalt.states.openstack_config.rst.txtsalt.states.openvswitch_bridge.rst.txtsalt.states.openvswitch_port.rst.txtsalt.states.opsgenie.rst.txtsalt.states.pagerduty.rst.txtsalt.states.pagerduty_escalation_policy.rst.txtsalt.states.pagerduty_schedule.rst.txtsalt.states.pagerduty_service.rst.txtsalt.states.pagerduty_user.rst.txtsalt.states.panos.rst.txtsalt.states.pbm.rst.txtsalt.states.pcs.rst.txtsalt.states.pdbedit.rst.txtsalt.states.pecl.rst.txtsalt.states.pip_state.rst.txtsalt.states.pkg.rst.txtsalt.states.pkgbuild.rst.txtsalt.states.pkgng.rst.txtsalt.states.pkgrepo.rst.txtsalt.states.portage_config.rst.txtsalt.states.ports.rst.txtsalt.states.postgres_cluster.rst.txtsalt.states.postgres_database.rst.txtsalt.states.postgres_extension.rst.txtsalt.states.postgres_group.rst.txtsalt.states.postgres_initdb.rst.txtsalt.states.postgres_language.rst.txtsalt.states.postgres_privileges.rst.txtsalt.states.postgres_schema.rst.txtsalt.states.postgres_tablespace.rst.txtsalt.states.postgres_user.rst.txtsalt.states.powerpath.rst.txtsalt.states.probes.rst.txtsalt.states.process.rst.txtsalt.states.proxy.rst.txtsalt.states.pushover.rst.txtsalt.states.pyenv.rst.txtsalt.states.pyrax_queues.rst.txtsalt.states.quota.rst.txtsalt.states.rabbitmq_cluster.rst.txtsalt.states.rabbitmq_plugin.rst.txtsalt.states.rabbitmq_policy.rst.txtsalt.states.rabbitmq_upstream.rst.txtsalt.states.rabbitmq_user.rst.txtsalt.states.rabbitmq_vhost.rst.txtsalt.states.rbac_solaris.rst.txtsalt.states.rbenv.rst.txtsalt.states.rdp.rst.txtsalt.states.redismod.rst.txtsalt.states.reg.rst.txtsalt.states.rsync.rst.txtsalt.states.rvm.rst.txtsalt.states.salt_proxy.rst.txtsalt.states.saltmod.rst.txtsalt.states.saltsupport.rst.txtsalt.states.saltutil.rst.txtsalt.states.schedule.rst.txtsalt.states.selinux.rst.txtsalt.states.serverdensity_device.rst.txtsalt.states.service.rst.txtsalt.states.slack.rst.txtsalt.states.smartos.rst.txtsalt.states.smtp.rst.txtsalt.states.snapper.rst.txtsalt.states.solrcloud.rst.txtsalt.states.splunk.rst.txtsalt.states.splunk_search.rst.txtsalt.states.sqlite3.rst.txtsalt.states.ssh_auth.rst.txtsalt.states.ssh_known_hosts.rst.txtsalt.states.stateconf.rst.txtsalt.states.status.rst.txtsalt.states.statuspage.rst.txtsalt.states.supervisord.rst.txtsalt.states.svn.rst.txtsalt.states.sysctl.rst.txtsalt.states.syslog_ng.rst.txtsalt.states.sysrc.rst.txtsalt.states.telemetry_alert.rst.txtsalt.states.test.rst.txtsalt.states.testinframod.rst.txtsalt.states.timezone.rst.txtsalt.states.tls.rst.txtsalt.states.tomcat.rst.txtsalt.states.trafficserver.rst.txtsalt.states.tuned.rst.txtsalt.states.uptime.rst.txtsalt.states.user.rst.txtsalt.states.vagrant.rst.txtsalt.states.vault.rst.txtsalt.states.vbox_guest.rst.txtsalt.states.victorops.rst.txtsalt.states.virt.rst.txtsalt.states.virtualenv_mod.rst.txtsalt.states.webutil.rst.txtsalt.states.win_certutil.rst.txtsalt.states.win_dacl.rst.txtsalt.states.win_dism.rst.txtsalt.states.win_dns_client.rst.txtsalt.states.win_firewall.rst.txtsalt.states.win_iis.rst.txtsalt.states.win_lgpo.rst.txtsalt.states.win_license.rst.txtsalt.states.win_network.rst.txtsalt.states.win_path.rst.txtsalt.states.win_pki.rst.txtsalt.states.win_powercfg.rst.txtsalt.states.win_servermanager.rst.txtsalt.states.win_smtp_server.rst.txtsalt.states.win_snmp.rst.txtsalt.states.win_system.rst.txtsalt.states.win_wua.rst.txtsalt.states.win_wusa.rst.txtsalt.states.winrepo.rst.txtsalt.states.wordpress.rst.txtsalt.states.x509.rst.txtsalt.states.xml.rst.txtsalt.states.xmpp.rst.txtsalt.states.zabbix_action.rst.txtsalt.states.zabbix_host.rst.txtsalt.states.zabbix_hostgroup.rst.txtsalt.states.zabbix_mediatype.rst.txtsalt.states.zabbix_template.rst.txtsalt.states.zabbix_user.rst.txtsalt.states.zabbix_usergroup.rst.txtsalt.states.zabbix_usermacro.rst.txtsalt.states.zabbix_valuemap.rst.txtsalt.states.zcbuildout.rst.txtsalt.states.zenoss.rst.txtsalt.states.zfs.rst.txtsalt.states.zk_concurrency.rst.txtsalt.states.zone.rst.txtsalt.states.zookeeper.rst.txtsalt.states.zpool.rst.txtaltering_states.rst.txtbackup_mode.rst.txtcompiler_ordering.rst.txtextend.rst.txtfailhard.rst.txtglobal_state_arguments.rst.txthighstate.rst.txtinclude.rst.txtindex.rst.txtlayers.rst.txtmaster_side.rst.txtordering.rst.txtparallel.rst.txtproviders.rst.txtrequisites.rst.txtstartup.rst.txttesting.rst.txttop.rst.txtvars.rst.txtwriting.rst.txtthoriumallindex.rst.txtsalt.thorium.calc.rst.txtsalt.thorium.check.rst.txtsalt.thorium.file.rst.txtsalt.thorium.key.rst.txtsalt.thorium.local.rst.txtsalt.thorium.reg.rst.txtsalt.thorium.runner.rst.txtsalt.thorium.status.rst.txtsalt.thorium.timer.rst.txtsalt.thorium.wheel.rst.txttokensallindex.rst.txtsalt.tokens.localfs.rst.txtsalt.tokens.rediscluster.rst.txttopsallindex.rst.txtsalt.tops.cobbler.rst.txtsalt.tops.ext_nodes.rst.txtsalt.tops.mongo.rst.txtsalt.tops.reclass_adapter.rst.txtsalt.tops.saltclass.rst.txtsalt.tops.varstack_top.rst.txtindex.rst.txtwheelallindex.rst.txtsalt.wheel.config.rst.txtsalt.wheel.error.rst.txtsalt.wheel.file_roots.rst.txtsalt.wheel.key.rst.txtsalt.wheel.minions.rst.txtsalt.wheel.pillar_roots.rst.txtsecurityindex.rst.txttopicsabout_salt_project.rst.txtapi.rst.txtbeaconsindex.rst.txtbest_practices.rst.txtblackoutindex.rst.txtcacheindex.rst.txtcloudaction.rst.txtaliyun.rst.txtaws.rst.txtazure.rst.txtazurearm.rst.txtbasic.rst.txtcloud.rst.txtcloudstack.rst.txtconfig.rst.txtdeploy.rst.txtdigitalocean.rst.txtdimensiondata.rst.txtfeatures.rst.txtfunction.rst.txtgce.rst.txtgogrid.rst.txthpcloud.rst.txtindex.rst.txtinstallindex.rst.txtjoyent.rst.txtlibvirt.rst.txtlinode.rst.txtlxc.rst.txtmap.rst.txtmisc.rst.txtoneandone.rst.txtopennebula.rst.txtopenstack.rst.txtparallels.rst.txtprofiles.rst.txtprofitbricks.rst.txtproxmox.rst.txtqs.rst.txtreactor.rst.txtreleases0.6.0.rst.txt0.7.0.rst.txt0.8.0.rst.txt0.8.1.rst.txt0.8.2.rst.txt0.8.3.rst.txt0.8.4.rst.txt0.8.5.rst.txt0.8.6.rst.txt0.8.7.rst.txt0.8.9.rst.txtindex.rst.txtsalt.rst.txtsaltify.rst.txtscaleway.rst.txtsoftlayer.rst.txttencentcloud.rst.txttroubleshooting.rst.txtvagrant.rst.txtvexxhost.rst.txtvirtualbox.rst.txtvmware.rst.txtwindows.rst.txtxen.rst.txtconfigurationindex.rst.txtdevelopmentarchitecture.rst.txtchangelog.rst.txtcontributing.rst.txtconventionsdocumentation.rst.txtformulas.rst.txtindex.rst.txtpackaging.rst.txtrelease.rst.txtstyle.rst.txtdeprecations.rst.txtextendindex.rst.txtfaq-py2-deprecation.rst.txtgitindex.rst.txthacking.rst.txtindex.rst.txtlabels.rst.txtlogging.rst.txtmodulesconfiguration.rst.txtdeveloping.rst.txtexternal_pillars.rst.txtindex.rst.txtssh_wrapper.rst.txtpackage_providers.rst.txtpull_requests.rst.txtreporting_bugs.rst.txttestsindex.rst.txtintegration.rst.txtunit.rst.txttopology.rst.txttutorial.rst.txteauthaccess_control.rst.txtindex.rst.txtenginesindex.rst.txteventevents.rst.txtindex.rst.txtmaster_events.rst.txtexecutionindex.rst.txtremote_execution.rst.txtext_processesindex.rst.txtgrainsindex.rst.txthardening.rst.txthighavailabilityindex.rst.txtindex.rst.txtinstallationarch.rst.txtdebian.rst.txteos.rst.txtfedora.rst.txtfreebsd.rst.txtgentoo.rst.txtindex.rst.txtnxos.rst.txtopenbsd.rst.txtosx.rst.txtrhel.rst.txtsolaris.rst.txtsuse.rst.txtubuntu.rst.txtwindows.rst.txtjinjaindex.rst.txtjobsexternal_cache.rst.txtindex.rst.txtjob_cache.rst.txtmaster_topsindex.rst.txtmatchersindex.rst.txtmineindex.rst.txtnetapiindex.rst.txtwriting.rst.txtnetwork_automationindex.rst.txtorchestrateindex.rst.txtorchestrate_runner.rst.txtpillarindex.rst.txtprojectsindex.rst.txtproxyminionbeacon.rst.txtdemo.rst.txtindex.rst.txtssh.rst.txtstate.rst.txtreactorindex.rst.txtreleases0.10.0.rst.txt0.10.1.rst.txt0.10.2.rst.txt0.10.3.rst.txt0.10.4.rst.txt0.10.5.rst.txt0.11.0.rst.txt0.11.1.rst.txt0.12.0.rst.txt0.12.1.rst.txt0.13.0.rst.txt0.13.1.rst.txt0.13.2.rst.txt0.13.3.rst.txt0.14.0.rst.txt0.14.1.rst.txt0.15.0.rst.txt0.15.1.rst.txt0.15.2.rst.txt0.15.3.rst.txt0.16.0.rst.txt0.16.1.rst.txt0.16.2.rst.txt0.16.3.rst.txt0.16.4.rst.txt0.17.0.rst.txt0.17.1.rst.txt0.17.2.rst.txt0.17.3.rst.txt0.17.4.rst.txt0.17.5.rst.txt0.6.0.rst.txt0.7.0.rst.txt0.8.0.rst.txt0.8.7.rst.txt0.8.8.rst.txt0.8.9.rst.txt0.9.0.rst.txt0.9.1.rst.txt0.9.2.rst.txt0.9.3.rst.txt0.9.4.rst.txt0.9.5.rst.txt0.9.6.rst.txt0.9.7.rst.txt0.9.8.rst.txt0.9.9.rst.txt2014.1.0.rst.txt2014.1.1.rst.txt2014.1.10.rst.txt2014.1.11.rst.txt2014.1.12.rst.txt2014.1.13.rst.txt2014.1.2.rst.txt2014.1.3.rst.txt2014.1.4.rst.txt2014.1.5.rst.txt2014.1.6.rst.txt2014.1.7.rst.txt2014.1.8.rst.txt2014.1.9.rst.txt2014.7.0.rst.txt2014.7.1.rst.txt2014.7.2.rst.txt2014.7.3.rst.txt2014.7.4.rst.txt2014.7.5.rst.txt2014.7.6.rst.txt2014.7.7.rst.txt2014.7.8.rst.txt2014.7.9.rst.txt2015.5.0.rst.txt2015.5.1.rst.txt2015.5.10.rst.txt2015.5.11.rst.txt2015.5.2.rst.txt2015.5.3.rst.txt2015.5.4.rst.txt2015.5.5.rst.txt2015.5.6.rst.txt2015.5.7.rst.txt2015.5.8.rst.txt2015.5.9.rst.txt2015.8.0.rst.txt2015.8.1.rst.txt2015.8.10.rst.txt2015.8.11.rst.txt2015.8.12.rst.txt2015.8.13.rst.txt2015.8.2.rst.txt2015.8.3.rst.txt2015.8.4.rst.txt2015.8.5.rst.txt2015.8.7.rst.txt2015.8.8.2.rst.txt2015.8.8.rst.txt2015.8.9.rst.txt2016.11.0.rst.txt2016.11.1.rst.txt2016.11.10.rst.txt2016.11.2.rst.txt2016.11.3.rst.txt2016.11.4.rst.txt2016.11.5.rst.txt2016.11.6.rst.txt2016.11.7.rst.txt2016.11.8.rst.txt2016.11.9.rst.txt2016.3.0.rst.txt2016.3.1.rst.txt2016.3.2.rst.txt2016.3.3.rst.txt2016.3.4.rst.txt2016.3.5.rst.txt2016.3.6.rst.txt2016.3.7.rst.txt2016.3.8.rst.txt2016.3.9.rst.txt2017.7.0.rst.txt2017.7.1.rst.txt2017.7.2.rst.txt2017.7.3.rst.txt2017.7.4.rst.txt2017.7.5.rst.txt2017.7.6.rst.txt2017.7.7.rst.txt2017.7.8.rst.txt2017.7.9.rst.txt2018.3.0.rst.txt2018.3.1.rst.txt2018.3.2.rst.txt2018.3.3.rst.txt2018.3.4.rst.txt2018.3.5.rst.txt2019.2.0.rst.txt2019.2.1.rst.txt2019.2.2.rst.txt2019.2.3.rst.txt2019.2.4.rst.txt2019.2.5.rst.txt2019.2.6.rst.txt2019.2.7.rst.txt2019.2.8.rst.txt3000.1.rst.txt3000.2.rst.txt3000.3.rst.txt3000.4.rst.txt3000.5.rst.txt3000.6.rst.txt3000.7.rst.txt3000.8.rst.txt3000.9.rst.txt3000.rst.txt3001.1.rst.txt3001.2.rst.txt3001.3.rst.txt3001.4.rst.txt3001.5.rst.txt3001.6.rst.txt3001.7.rst.txt3001.8.rst.txt3001.rst.txt3002.1.rst.txt3002.2.rst.txt3002.3.rst.txt3002.4.rst.txt3002.5.rst.txt3002.6.rst.txt3002.7.rst.txt3002.rst.txt3003.1.rst.txt3003.2.rst.txt3003.3.rst.txt3003.rst.txt3004.rst.txtincludes2015.8.0.pull_list.rst.txtgit-2015.8.0.rst.txtproxy-2015.8.0.rst.txtindex.rst.txtreleasecandidate.rst.txtsaltapi0.5.0.rst.txt0.6.0.rst.txt0.7.0.rst.txt0.7.5.rst.txt0.8.0.rst.txt0.8.2.rst.txt0.8.3.rst.txt0.8.4.rst.txt2016.3.6.rst.txtindex.rst.txtversion_numbers.rst.txtreturn_codesindex.rst.txtsalt_system_architecture.rst.txtsdbindex.rst.txtslotsindex.rst.txtsolarisindex.rst.txtsolaris-specific-behavior.rst.txtspmconfig.rst.txtdev.rst.txtindex.rst.txtmaster.rst.txtpackaging.rst.txtrepo.rst.txtspm_formula.rst.txtsshindex.rst.txtroster.rst.txtssh_ext_alternatives.rst.txtstatesindex.rst.txttargetingbatch.rst.txtcompound.rst.txtglobbing.rst.txtgrains.rst.txtindex.rst.txtipcidr.rst.txtnodegroups.rst.txtpillar.rst.txtrange.rst.txtthoriumindex.rst.txttopologyindex.rst.txtsyndic.rst.txttransportsindex.rst.txttcp.rst.txtzeromq.rst.txttroubleshootingindex.rst.txtmaster.rst.txtminion.rst.txtyaml_idiosyncrasies.rst.txttutorialsautoaccept_grains.rst.txtcloud_controller.rst.txtcron.rst.txtdocker_sls.rst.txtesky.rst.txtesxi_proxy_minion.rst.txtfirewall.rst.txtgitfs.rst.txthttp.rst.txtindex.rst.txtintro_scale.rst.txtjinja_to_execution_module.rst.txtlibcloud.rst.txtlxc.rst.txtminionfs.rst.txtmodules.rst.txtmultimaster.rst.txtmultimaster_pki.rst.txtpackaging_modules.rst.txtpillar.rst.txtpreseed_key.rst.txtquickstart.rst.txtrooted.rst.txtsalt_bootstrap.rst.txtstandalone_minion.rst.txtstarting_states.rst.txtstates_pt1.rst.txtstates_pt2.rst.txtstates_pt3.rst.txtstates_pt4.rst.txtstates_pt5.rst.txtsyslog_ng-state-usage.rst.txtwalkthrough.rst.txtwalkthrough_macosx.rst.txtwriting_tests.rst.txtusing_salt.rst.txtutilsindex.rst.txtvenafiindex.rst.txtvirtdisk.rst.txtindex.rst.txtnic.rst.txtwindowsindex.rst.txtwindows-package-manager.rst.txtwindows-specific-behavior.rst.txtyamlindex.rst.txt_staticbasic.cssclassic.csscloud-settings-inheritance.pngcssclose.pngcore.min.cssloading.gifnext.pngprev.pngwebhelp.min_v1.4.5.cssdoctools.jsdocumentation_options.jsexternal-job-cache.pngfavicon.icofile.pngfontsglyphicons-halflings-regular.eotglyphicons-halflings-regular.svgglyphicons-halflings-regular.ttfglyphicons-halflings-regular.wofflatov111KWMyx7m-L0fkQGwYhWwun-_kf6ByYO6CLYdB4HQE-Y.woff222JRxvfANxSmnAhzbFH8PlKPGs1ZzpMvnHX-7fPOuAc.woff22HG_tEPiQ4Z6795cGfdivIX0hVgzZQUfRDuZrPvH3D8.woff28qcEw_nrk_5HEcCpYdJu8BTbgVql8nDJpwnrE27mub0.woff2AcvTq8Q0lyKKNxRlL28Rn4X0hVgzZQUfRDuZrPvH3D8.woff2HkF_qI1x_noxlxhrhMQYEIX0hVgzZQUfRDuZrPvH3D8.woff2IY9HZVvI1cMoAHxvl0w9LVKPGs1ZzpMvnHX-7fPOuAc.woff2MDadn8DQ_3oT6kvnUq_2rxTbgVql8nDJpwnrE27mub0.woff2MgNNr5y1C_tIEuLEmicLm1KPGs1ZzpMvnHX-7fPOuAc.woff2XNVd6tsqi9wmKNvnh5HNEIX0hVgzZQUfRDuZrPvH3D8.woff2cT2GN3KRBUX69GVJ2b2hxn-_kf6ByYO6CLYdB4HQE-Y.woff2rZPI2gHXi8zxUjnybc2ZQFKPGs1ZzpMvnHX-7fPOuAc.woff2imagesDOCBANNER.pngSaltStack_white.svgbanner-saltconf.pngbanner-support.pngemail.pngenterprise_ad.jpgepub_icon.svgfooter-support.pnggithub.pnglinkedin.pngmeetup.pngmessenger-generic.pngpdf_icon.svgreddit.pngsaltstack.svgsaltstack_logo.svgstackoverflow.pngtwitter.pngyoutube-variation.pngjquery-3.5.1.jsjquery.jsjscore.min.jsrespond.min.jswebhelp.min_v1.4.4.jslanguage_data.jsmaster-job-cache.pngminus.pngnapalm_logo.pngplus.pngproxy_minions.drawio.xmlproxy_minions.pngproxy_minions.svgpygments.cssrest_status_screen.pngsalt-architecture.pngsalt-logo-full.svgsalt-logo.pdfsalt-logo.pngsalt-logo.svgsalt-oss-logo.pngsearchtools.jssidebar.jssnapshot_manager.pngspm-overview.pngspm-package-contents.pngspm-package-extraction.pngunderscore-1.13.1.jsunderscore.jscontents.htmlfaq.htmlgenindex.htmlglossary.htmlobjects.invpy-modindex.htmlrefauthallindex.htmlsalt.auth.auto.htmlsalt.auth.django.htmlsalt.auth.file.htmlsalt.auth.keystone.htmlsalt.auth.ldap.htmlsalt.auth.mysql.htmlsalt.auth.pam.htmlsalt.auth.pki.htmlsalt.auth.rest.htmlsalt.auth.sharedsecret.htmlsalt.auth.yubico.htmlbeaconsallindex.htmlsalt.beacons.adb.htmlsalt.beacons.aix_account.htmlsalt.beacons.avahi_announce.htmlsalt.beacons.bonjour_announce.htmlsalt.beacons.btmp.htmlsalt.beacons.cert_info.htmlsalt.beacons.diskusage.htmlsalt.beacons.glxinfo.htmlsalt.beacons.haproxy.htmlsalt.beacons.inotify.htmlsalt.beacons.journald.htmlsalt.beacons.junos_rre_keys.htmlsalt.beacons.load.htmlsalt.beacons.log_beacon.htmlsalt.beacons.memusage.htmlsalt.beacons.napalm_beacon.htmlsalt.beacons.network_info.htmlsalt.beacons.network_settings.htmlsalt.beacons.pkg.htmlsalt.beacons.proxy_example.htmlsalt.beacons.ps.htmlsalt.beacons.salt_monitor.htmlsalt.beacons.salt_proxy.htmlsalt.beacons.sensehat.htmlsalt.beacons.service.htmlsalt.beacons.sh.htmlsalt.beacons.smartos_imgadm.htmlsalt.beacons.smartos_vmadm.htmlsalt.beacons.status.htmlsalt.beacons.swapusage.htmlsalt.beacons.telegram_bot_msg.htmlsalt.beacons.twilio_txt_msg.htmlsalt.beacons.watchdog.htmlsalt.beacons.wtmp.htmlcacheallindex.htmlsalt.cache.consul.htmlsalt.cache.etcd_cache.htmlsalt.cache.localfs.htmlsalt.cache.mysql_cache.htmlsalt.cache.redis_cache.htmlcliindex.htmlsalt-api.htmlsalt-call.htmlsalt-cloud.htmlsalt-cp.htmlsalt-extend.htmlsalt-key.htmlsalt-master.htmlsalt-minion.htmlsalt-proxy.htmlsalt-run.htmlsalt-ssh.htmlsalt-syndic.htmlsalt-unity.htmlsalt.htmlspm.htmlclientsindex.htmlcloudsallindex.htmlsalt.cloud.clouds.aliyun.htmlsalt.cloud.clouds.azurearm.htmlsalt.cloud.clouds.clc.htmlsalt.cloud.clouds.cloudstack.htmlsalt.cloud.clouds.digitalocean.htmlsalt.cloud.clouds.dimensiondata.htmlsalt.cloud.clouds.ec2.htmlsalt.cloud.clouds.gce.htmlsalt.cloud.clouds.gogrid.htmlsalt.cloud.clouds.hetzner.htmlsalt.cloud.clouds.joyent.htmlsalt.cloud.clouds.libvirt.htmlsalt.cloud.clouds.linode.htmlsalt.cloud.clouds.lxc.htmlsalt.cloud.clouds.msazure.htmlsalt.cloud.clouds.oneandone.htmlsalt.cloud.clouds.opennebula.htmlsalt.cloud.clouds.openstack.htmlsalt.cloud.clouds.packet.htmlsalt.cloud.clouds.parallels.htmlsalt.cloud.clouds.profitbricks.htmlsalt.cloud.clouds.proxmox.htmlsalt.cloud.clouds.pyrax.htmlsalt.cloud.clouds.qingcloud.htmlsalt.cloud.clouds.saltify.htmlsalt.cloud.clouds.scaleway.htmlsalt.cloud.clouds.softlayer.htmlsalt.cloud.clouds.softlayer_hw.htmlsalt.cloud.clouds.tencentcloud.htmlsalt.cloud.clouds.vagrant.htmlsalt.cloud.clouds.virtualbox.htmlsalt.cloud.clouds.vmware.htmlsalt.cloud.clouds.vultrpy.htmlsalt.cloud.clouds.xen.htmlconfigurationexamples.htmlindex.htmllogginghandlersindex.htmlsalt.log.handlers.fluent_mod.htmlsalt.log.handlers.log4mongo_mod.htmlsalt.log.handlers.logstash_mod.htmlsalt.log.handlers.sentry_mod.htmlindex.htmlmaster.htmlminion.htmlnonroot.htmlproxy.htmlenginesallindex.htmlsalt.engines.docker_events.htmlsalt.engines.fluent.htmlsalt.engines.http_logstash.htmlsalt.engines.ircbot.htmlsalt.engines.junos_syslog.htmlsalt.engines.libvirt_events.htmlsalt.engines.logentries.htmlsalt.engines.logstash_engine.htmlsalt.engines.napalm_syslog.htmlsalt.engines.reactor.htmlsalt.engines.redis_sentinel.htmlsalt.engines.script.htmlsalt.engines.slack.htmlsalt.engines.sqs_events.htmlsalt.engines.stalekey.htmlsalt.engines.test.htmlsalt.engines.thorium.htmlsalt.engines.webhook.htmlexecutorsallindex.htmlsalt.executors.direct_call.htmlsalt.executors.docker.htmlsalt.executors.splay.htmlsalt.executors.sudo.htmlsalt.executors.transactional_update.htmlindex.htmlfile_serverallindex.htmlsalt.fileserver.azurefs.htmlsalt.fileserver.gitfs.htmlsalt.fileserver.hgfs.htmlsalt.fileserver.minionfs.htmlsalt.fileserver.roots.htmlsalt.fileserver.s3fs.htmlsalt.fileserver.svnfs.htmlbackends.htmlenvironments.htmlfile_roots.htmlindex.htmlgrainsallindex.htmlsalt.grains.chronos.htmlsalt.grains.cimc.htmlsalt.grains.core.htmlsalt.grains.disks.htmlsalt.grains.esxi.htmlsalt.grains.extra.htmlsalt.grains.fibre_channel.htmlsalt.grains.fx2.htmlsalt.grains.iscsi.htmlsalt.grains.junos.htmlsalt.grains.lvm.htmlsalt.grains.marathon.htmlsalt.grains.mdadm.htmlsalt.grains.mdata.htmlsalt.grains.metadata.htmlsalt.grains.minion_process.htmlsalt.grains.napalm.htmlsalt.grains.nvme.htmlsalt.grains.nxos.htmlsalt.grains.opts.htmlsalt.grains.panos.htmlsalt.grains.pending_reboot.htmlsalt.grains.philips_hue.htmlsalt.grains.rest_sample.htmlsalt.grains.smartos.htmlsalt.grains.ssh_sample.htmlsalt.grains.zfs.htmlindex.htmlinternalsaggregation.htmlexceptions.htmlfileserver-and-client.htmlindex.htmlopts.htmlsalt.exceptions.htmlunicode.htmlmodulesallindex.htmlsalt.modules.acme.htmlsalt.modules.aix_group.htmlsalt.modules.aix_shadow.htmlsalt.modules.aixpkg.htmlsalt.modules.aliases.htmlsalt.modules.alternatives.htmlsalt.modules.ansiblegate.htmlsalt.modules.apache.htmlsalt.modules.apcups.htmlsalt.modules.apf.htmlsalt.modules.apkpkg.htmlsalt.modules.aptly.htmlsalt.modules.aptpkg.htmlsalt.modules.archive.htmlsalt.modules.arista_pyeapi.htmlsalt.modules.artifactory.htmlsalt.modules.at.htmlsalt.modules.at_solaris.htmlsalt.modules.augeas_cfg.htmlsalt.modules.aws_sqs.htmlsalt.modules.azurearm_compute.htmlsalt.modules.azurearm_dns.htmlsalt.modules.azurearm_network.htmlsalt.modules.azurearm_resource.htmlsalt.modules.bamboohr.htmlsalt.modules.baredoc.htmlsalt.modules.bcache.htmlsalt.modules.beacons.htmlsalt.modules.bigip.htmlsalt.modules.bluez_bluetooth.htmlsalt.modules.boto3_elasticache.htmlsalt.modules.boto3_elasticsearch.htmlsalt.modules.boto3_route53.htmlsalt.modules.boto3_sns.htmlsalt.modules.boto_apigateway.htmlsalt.modules.boto_asg.htmlsalt.modules.boto_cfn.htmlsalt.modules.boto_cloudfront.htmlsalt.modules.boto_cloudtrail.htmlsalt.modules.boto_cloudwatch.htmlsalt.modules.boto_cloudwatch_event.htmlsalt.modules.boto_cognitoidentity.htmlsalt.modules.boto_datapipeline.htmlsalt.modules.boto_dynamodb.htmlsalt.modules.boto_ec2.htmlsalt.modules.boto_efs.htmlsalt.modules.boto_elasticache.htmlsalt.modules.boto_elasticsearch_domain.htmlsalt.modules.boto_elb.htmlsalt.modules.boto_elbv2.htmlsalt.modules.boto_iam.htmlsalt.modules.boto_iot.htmlsalt.modules.boto_kinesis.htmlsalt.modules.boto_kms.htmlsalt.modules.boto_lambda.htmlsalt.modules.boto_rds.htmlsalt.modules.boto_route53.htmlsalt.modules.boto_s3.htmlsalt.modules.boto_s3_bucket.htmlsalt.modules.boto_secgroup.htmlsalt.modules.boto_sns.htmlsalt.modules.boto_sqs.htmlsalt.modules.boto_ssm.htmlsalt.modules.boto_vpc.htmlsalt.modules.bower.htmlsalt.modules.bridge.htmlsalt.modules.bsd_shadow.htmlsalt.modules.btrfs.htmlsalt.modules.cabal.htmlsalt.modules.capirca_acl.htmlsalt.modules.cassandra_cql.htmlsalt.modules.cassandra_mod.htmlsalt.modules.celery.htmlsalt.modules.ceph.htmlsalt.modules.chassis.htmlsalt.modules.chef.htmlsalt.modules.chocolatey.htmlsalt.modules.chronos.htmlsalt.modules.chroot.htmlsalt.modules.cimc.htmlsalt.modules.ciscoconfparse_mod.htmlsalt.modules.cisconso.htmlsalt.modules.cloud.htmlsalt.modules.cmdmod.htmlsalt.modules.composer.htmlsalt.modules.config.htmlsalt.modules.consul.htmlsalt.modules.container_resource.htmlsalt.modules.cp.htmlsalt.modules.cpan.htmlsalt.modules.cron.htmlsalt.modules.cryptdev.htmlsalt.modules.csf.htmlsalt.modules.cyg.htmlsalt.modules.daemontools.htmlsalt.modules.data.htmlsalt.modules.datadog_api.htmlsalt.modules.ddns.htmlsalt.modules.deb_apache.htmlsalt.modules.deb_postgres.htmlsalt.modules.debconfmod.htmlsalt.modules.debian_ip.htmlsalt.modules.debian_service.htmlsalt.modules.debuild_pkgbuild.htmlsalt.modules.defaults.htmlsalt.modules.devinfo.htmlsalt.modules.devmap.htmlsalt.modules.dig.htmlsalt.modules.disk.htmlsalt.modules.djangomod.htmlsalt.modules.dnsmasq.htmlsalt.modules.dnsutil.htmlsalt.modules.dockercompose.htmlsalt.modules.dockermod.htmlsalt.modules.dpkg_lowpkg.htmlsalt.modules.drac.htmlsalt.modules.dracr.htmlsalt.modules.drbd.htmlsalt.modules.dummyproxy_pkg.htmlsalt.modules.dummyproxy_service.htmlsalt.modules.ebuildpkg.htmlsalt.modules.eix.htmlsalt.modules.elasticsearch.htmlsalt.modules.environ.htmlsalt.modules.eselect.htmlsalt.modules.esxcluster.htmlsalt.modules.esxdatacenter.htmlsalt.modules.esxi.htmlsalt.modules.esxvm.htmlsalt.modules.etcd_mod.htmlsalt.modules.ethtool.htmlsalt.modules.event.htmlsalt.modules.extfs.htmlsalt.modules.file.htmlsalt.modules.firewalld.htmlsalt.modules.freebsd_sysctl.htmlsalt.modules.freebsd_update.htmlsalt.modules.freebsdjail.htmlsalt.modules.freebsdkmod.htmlsalt.modules.freebsdpkg.htmlsalt.modules.freebsdports.htmlsalt.modules.freebsdservice.htmlsalt.modules.freezer.htmlsalt.modules.gcp_addon.htmlsalt.modules.gem.htmlsalt.modules.genesis.htmlsalt.modules.gentoo_service.htmlsalt.modules.gentoolkitmod.htmlsalt.modules.git.htmlsalt.modules.github.htmlsalt.modules.glanceng.htmlsalt.modules.glassfish.htmlsalt.modules.glusterfs.htmlsalt.modules.gnomedesktop.htmlsalt.modules.google_chat.htmlsalt.modules.gpg.htmlsalt.modules.grafana4.htmlsalt.modules.grains.htmlsalt.modules.group.htmlsalt.modules.groupadd.htmlsalt.modules.grub_legacy.htmlsalt.modules.guestfs.htmlsalt.modules.hadoop.htmlsalt.modules.haproxyconn.htmlsalt.modules.hashutil.htmlsalt.modules.heat.htmlsalt.modules.helm.htmlsalt.modules.hg.htmlsalt.modules.highstate_doc.htmlsalt.modules.hosts.htmlsalt.modules.http.htmlsalt.modules.icinga2.htmlsalt.modules.idem.htmlsalt.modules.ifttt.htmlsalt.modules.ilo.htmlsalt.modules.incron.htmlsalt.modules.influxdb08mod.htmlsalt.modules.influxdbmod.htmlsalt.modules.infoblox.htmlsalt.modules.ini_manage.htmlsalt.modules.inspectlib.collector.htmlsalt.modules.inspectlib.dbhandle.htmlsalt.modules.inspectlib.entities.htmlsalt.modules.inspectlib.exceptions.htmlsalt.modules.inspectlib.fsdb.htmlsalt.modules.inspectlib.htmlsalt.modules.inspectlib.kiwiproc.htmlsalt.modules.inspectlib.query.htmlsalt.modules.inspector.htmlsalt.modules.introspect.htmlsalt.modules.iosconfig.htmlsalt.modules.ipmi.htmlsalt.modules.ipset.htmlsalt.modules.iptables.htmlsalt.modules.iwtools.htmlsalt.modules.jboss7.htmlsalt.modules.jboss7_cli.htmlsalt.modules.jenkinsmod.htmlsalt.modules.jinja.htmlsalt.modules.jira_mod.htmlsalt.modules.junos.htmlsalt.modules.k8s.htmlsalt.modules.kapacitor.htmlsalt.modules.kerberos.htmlsalt.modules.kernelpkg.htmlsalt.modules.kernelpkg_linux_apt.htmlsalt.modules.kernelpkg_linux_yum.htmlsalt.modules.key.htmlsalt.modules.keyboard.htmlsalt.modules.keystone.htmlsalt.modules.keystoneng.htmlsalt.modules.keystore.htmlsalt.modules.kmod.htmlsalt.modules.kubeadm.htmlsalt.modules.kubernetesmod.htmlsalt.modules.launchctl_service.htmlsalt.modules.layman.htmlsalt.modules.ldap3.htmlsalt.modules.ldapmod.htmlsalt.modules.libcloud_compute.htmlsalt.modules.libcloud_dns.htmlsalt.modules.libcloud_loadbalancer.htmlsalt.modules.libcloud_storage.htmlsalt.modules.linux_acl.htmlsalt.modules.linux_ip.htmlsalt.modules.linux_lvm.htmlsalt.modules.linux_service.htmlsalt.modules.linux_shadow.htmlsalt.modules.linux_sysctl.htmlsalt.modules.localemod.htmlsalt.modules.locate.htmlsalt.modules.logadm.htmlsalt.modules.logmod.htmlsalt.modules.logrotate.htmlsalt.modules.lvs.htmlsalt.modules.lxc.htmlsalt.modules.lxd.htmlsalt.modules.mac_assistive.htmlsalt.modules.mac_brew_pkg.htmlsalt.modules.mac_desktop.htmlsalt.modules.mac_group.htmlsalt.modules.mac_keychain.htmlsalt.modules.mac_pkgutil.htmlsalt.modules.mac_portspkg.htmlsalt.modules.mac_power.htmlsalt.modules.mac_service.htmlsalt.modules.mac_shadow.htmlsalt.modules.mac_softwareupdate.htmlsalt.modules.mac_sysctl.htmlsalt.modules.mac_system.htmlsalt.modules.mac_timezone.htmlsalt.modules.mac_user.htmlsalt.modules.mac_xattr.htmlsalt.modules.macdefaults.htmlsalt.modules.macpackage.htmlsalt.modules.makeconf.htmlsalt.modules.mandrill.htmlsalt.modules.marathon.htmlsalt.modules.match.htmlsalt.modules.mattermost.htmlsalt.modules.mdadm_raid.htmlsalt.modules.mdata.htmlsalt.modules.memcached.htmlsalt.modules.mine.htmlsalt.modules.minion.htmlsalt.modules.mod_random.htmlsalt.modules.modjk.htmlsalt.modules.mongodb.htmlsalt.modules.monit.htmlsalt.modules.moosefs.htmlsalt.modules.mount.htmlsalt.modules.mssql.htmlsalt.modules.msteams.htmlsalt.modules.munin.htmlsalt.modules.mysql.htmlsalt.modules.nacl.htmlsalt.modules.nagios.htmlsalt.modules.nagios_rpc.htmlsalt.modules.namecheap_domains.htmlsalt.modules.namecheap_domains_dns.htmlsalt.modules.namecheap_domains_ns.htmlsalt.modules.namecheap_ssl.htmlsalt.modules.namecheap_users.htmlsalt.modules.napalm_bgp.htmlsalt.modules.napalm_formula.htmlsalt.modules.napalm_mod.htmlsalt.modules.napalm_netacl.htmlsalt.modules.napalm_network.htmlsalt.modules.napalm_ntp.htmlsalt.modules.napalm_probes.htmlsalt.modules.napalm_route.htmlsalt.modules.napalm_snmp.htmlsalt.modules.napalm_users.htmlsalt.modules.napalm_yang_mod.htmlsalt.modules.netaddress.htmlsalt.modules.netbox.htmlsalt.modules.netbsd_sysctl.htmlsalt.modules.netbsdservice.htmlsalt.modules.netmiko_mod.htmlsalt.modules.netscaler.htmlsalt.modules.network.htmlsalt.modules.neutron.htmlsalt.modules.neutronng.htmlsalt.modules.nexus.htmlsalt.modules.nfs3.htmlsalt.modules.nftables.htmlsalt.modules.nginx.htmlsalt.modules.nilrt_ip.htmlsalt.modules.nix.htmlsalt.modules.nova.htmlsalt.modules.npm.htmlsalt.modules.nspawn.htmlsalt.modules.nxos.htmlsalt.modules.nxos_api.htmlsalt.modules.nxos_upgrade.htmlsalt.modules.omapi.htmlsalt.modules.openbsd_sysctl.htmlsalt.modules.openbsdpkg.htmlsalt.modules.openbsdrcctl_service.htmlsalt.modules.openbsdservice.htmlsalt.modules.openscap.htmlsalt.modules.openstack_config.htmlsalt.modules.openstack_mng.htmlsalt.modules.openvswitch.htmlsalt.modules.opkg.htmlsalt.modules.opsgenie.htmlsalt.modules.oracle.htmlsalt.modules.osquery.htmlsalt.modules.out.htmlsalt.modules.pacmanpkg.htmlsalt.modules.pagerduty.htmlsalt.modules.pagerduty_util.htmlsalt.modules.pam.htmlsalt.modules.panos.htmlsalt.modules.parallels.htmlsalt.modules.parted_partition.htmlsalt.modules.pcs.htmlsalt.modules.pdbedit.htmlsalt.modules.pecl.htmlsalt.modules.peeringdb.htmlsalt.modules.pf.htmlsalt.modules.philips_hue.htmlsalt.modules.pillar.htmlsalt.modules.pip.htmlsalt.modules.pkg.htmlsalt.modules.pkg_resource.htmlsalt.modules.pkgin.htmlsalt.modules.pkgng.htmlsalt.modules.pkgutil.htmlsalt.modules.portage_config.htmlsalt.modules.postfix.htmlsalt.modules.postgres.htmlsalt.modules.poudriere.htmlsalt.modules.powerpath.htmlsalt.modules.proxy.htmlsalt.modules.ps.htmlsalt.modules.publish.htmlsalt.modules.puppet.htmlsalt.modules.purefa.htmlsalt.modules.purefb.htmlsalt.modules.pushbullet.htmlsalt.modules.pushover_notify.htmlsalt.modules.pw_group.htmlsalt.modules.pw_user.htmlsalt.modules.pyenv.htmlsalt.modules.qemu_img.htmlsalt.modules.qemu_nbd.htmlsalt.modules.quota.htmlsalt.modules.rabbitmq.htmlsalt.modules.rallydev.htmlsalt.modules.random_org.htmlsalt.modules.rbac_solaris.htmlsalt.modules.rbenv.htmlsalt.modules.rdp.htmlsalt.modules.rebootmgr.htmlsalt.modules.redismod.htmlsalt.modules.reg.htmlsalt.modules.rest_pkg.htmlsalt.modules.rest_sample_utils.htmlsalt.modules.rest_service.htmlsalt.modules.restartcheck.htmlsalt.modules.ret.htmlsalt.modules.rh_ip.htmlsalt.modules.rh_service.htmlsalt.modules.riak.htmlsalt.modules.rpm_lowpkg.htmlsalt.modules.rpmbuild_pkgbuild.htmlsalt.modules.rsync.htmlsalt.modules.runit.htmlsalt.modules.rvm.htmlsalt.modules.s3.htmlsalt.modules.s6.htmlsalt.modules.salt_proxy.htmlsalt.modules.salt_version.htmlsalt.modules.saltcheck.htmlsalt.modules.saltcloudmod.htmlsalt.modules.saltsupport.htmlsalt.modules.saltutil.htmlsalt.modules.schedule.htmlsalt.modules.scp_mod.htmlsalt.modules.scsi.htmlsalt.modules.sdb.htmlsalt.modules.seed.htmlsalt.modules.selinux.htmlsalt.modules.sensehat.htmlsalt.modules.sensors.htmlsalt.modules.serverdensity_device.htmlsalt.modules.service.htmlsalt.modules.servicenow.htmlsalt.modules.shadow.htmlsalt.modules.slack_notify.htmlsalt.modules.slackware_service.htmlsalt.modules.slsutil.htmlsalt.modules.smartos_imgadm.htmlsalt.modules.smartos_nictagadm.htmlsalt.modules.smartos_virt.htmlsalt.modules.smartos_vmadm.htmlsalt.modules.smbios.htmlsalt.modules.smf_service.htmlsalt.modules.smtp.htmlsalt.modules.snapper.htmlsalt.modules.solaris_fmadm.htmlsalt.modules.solaris_group.htmlsalt.modules.solaris_shadow.htmlsalt.modules.solaris_system.htmlsalt.modules.solaris_user.htmlsalt.modules.solarisipspkg.htmlsalt.modules.solarispkg.htmlsalt.modules.solr.htmlsalt.modules.solrcloud.htmlsalt.modules.splunk.htmlsalt.modules.splunk_search.htmlsalt.modules.sqlite3.htmlsalt.modules.ssh.htmlsalt.modules.ssh_pkg.htmlsalt.modules.ssh_service.htmlsalt.modules.state.htmlsalt.modules.status.htmlsalt.modules.statuspage.htmlsalt.modules.supervisord.htmlsalt.modules.suse_apache.htmlsalt.modules.svn.htmlsalt.modules.swarm.htmlsalt.modules.swift.htmlsalt.modules.sysbench.htmlsalt.modules.sysctl.htmlsalt.modules.sysfs.htmlsalt.modules.syslog_ng.htmlsalt.modules.sysmod.htmlsalt.modules.sysrc.htmlsalt.modules.system.htmlsalt.modules.system_profiler.htmlsalt.modules.systemd_service.htmlsalt.modules.telegram.htmlsalt.modules.telemetry.htmlsalt.modules.temp.htmlsalt.modules.test.htmlsalt.modules.test_virtual.htmlsalt.modules.testinframod.htmlsalt.modules.textfsm_mod.htmlsalt.modules.timezone.htmlsalt.modules.tls.htmlsalt.modules.tomcat.htmlsalt.modules.trafficserver.htmlsalt.modules.transactional_update.htmlsalt.modules.travisci.htmlsalt.modules.tuned.htmlsalt.modules.twilio_notify.htmlsalt.modules.udev.htmlsalt.modules.upstart_service.htmlsalt.modules.uptime.htmlsalt.modules.user.htmlsalt.modules.useradd.htmlsalt.modules.uwsgi.htmlsalt.modules.vagrant.htmlsalt.modules.varnish.htmlsalt.modules.vault.htmlsalt.modules.vbox_guest.htmlsalt.modules.vboxmanage.htmlsalt.modules.vcenter.htmlsalt.modules.victorops.htmlsalt.modules.virt.htmlsalt.modules.virtualenv_mod.htmlsalt.modules.vmctl.htmlsalt.modules.vsphere.htmlsalt.modules.webutil.htmlsalt.modules.win_auditpol.htmlsalt.modules.win_autoruns.htmlsalt.modules.win_certutil.htmlsalt.modules.win_dacl.htmlsalt.modules.win_disk.htmlsalt.modules.win_dism.htmlsalt.modules.win_dns_client.htmlsalt.modules.win_dsc.htmlsalt.modules.win_file.htmlsalt.modules.win_firewall.htmlsalt.modules.win_groupadd.htmlsalt.modules.win_iis.htmlsalt.modules.win_ip.htmlsalt.modules.win_lgpo.htmlsalt.modules.win_license.htmlsalt.modules.win_network.htmlsalt.modules.win_ntp.htmlsalt.modules.win_path.htmlsalt.modules.win_pkg.htmlsalt.modules.win_pki.htmlsalt.modules.win_powercfg.htmlsalt.modules.win_psget.htmlsalt.modules.win_servermanager.htmlsalt.modules.win_service.htmlsalt.modules.win_shadow.htmlsalt.modules.win_smtp_server.htmlsalt.modules.win_snmp.htmlsalt.modules.win_status.htmlsalt.modules.win_system.htmlsalt.modules.win_task.htmlsalt.modules.win_timezone.htmlsalt.modules.win_useradd.htmlsalt.modules.win_wua.htmlsalt.modules.win_wusa.htmlsalt.modules.winrepo.htmlsalt.modules.wordpress.htmlsalt.modules.x509.htmlsalt.modules.xapi_virt.htmlsalt.modules.xbpspkg.htmlsalt.modules.xfs.htmlsalt.modules.xml.htmlsalt.modules.xmpp.htmlsalt.modules.yumpkg.htmlsalt.modules.zabbix.htmlsalt.modules.zcbuildout.htmlsalt.modules.zenoss.htmlsalt.modules.zfs.htmlsalt.modules.zk_concurrency.htmlsalt.modules.znc.htmlsalt.modules.zoneadm.htmlsalt.modules.zonecfg.htmlsalt.modules.zookeeper.htmlsalt.modules.zpool.htmlsalt.modules.zypperpkg.htmlindex.htmlnetapiallindex.htmlsalt.netapi.rest_cherrypy.htmlsalt.netapi.rest_tornado.htmlsalt.netapi.rest_wsgi.htmloutputallindex.htmlsalt.output.dson.htmlsalt.output.highstate.htmlsalt.output.json_out.htmlsalt.output.key.htmlsalt.output.nested.htmlsalt.output.newline_values_only.htmlsalt.output.no_out_quiet.htmlsalt.output.no_return.htmlsalt.output.overstatestage.htmlsalt.output.pony.htmlsalt.output.pprint_out.htmlsalt.output.profile.htmlsalt.output.progress.htmlsalt.output.raw.htmlsalt.output.table_out.htmlsalt.output.txt.htmlsalt.output.virt_query.htmlsalt.output.yaml_out.htmlpeer.htmlpillarallindex.htmlsalt.pillar.azureblob.htmlsalt.pillar.cmd_json.htmlsalt.pillar.cmd_yaml.htmlsalt.pillar.cmd_yamlex.htmlsalt.pillar.cobbler.htmlsalt.pillar.confidant.htmlsalt.pillar.consul_pillar.htmlsalt.pillar.csvpillar.htmlsalt.pillar.digicert.htmlsalt.pillar.django_orm.htmlsalt.pillar.ec2_pillar.htmlsalt.pillar.etcd_pillar.htmlsalt.pillar.extra_minion_data_in_pillar.htmlsalt.pillar.file_tree.htmlsalt.pillar.foreman.htmlsalt.pillar.git_pillar.htmlsalt.pillar.gpg.htmlsalt.pillar.hg_pillar.htmlsalt.pillar.hiera.htmlsalt.pillar.http_json.htmlsalt.pillar.http_yaml.htmlsalt.pillar.libvirt.htmlsalt.pillar.makostack.htmlsalt.pillar.mongo.htmlsalt.pillar.mysql.htmlsalt.pillar.nacl.htmlsalt.pillar.netbox.htmlsalt.pillar.neutron.htmlsalt.pillar.nodegroups.htmlsalt.pillar.pepa.htmlsalt.pillar.pillar_ldap.htmlsalt.pillar.postgres.htmlsalt.pillar.puppet.htmlsalt.pillar.reclass_adapter.htmlsalt.pillar.redismod.htmlsalt.pillar.rethinkdb_pillar.htmlsalt.pillar.s3.htmlsalt.pillar.saltclass.htmlsalt.pillar.sql_base.htmlsalt.pillar.sqlcipher.htmlsalt.pillar.sqlite3.htmlsalt.pillar.stack.htmlsalt.pillar.svn_pillar.htmlsalt.pillar.varstack_pillar.htmlsalt.pillar.vault.htmlsalt.pillar.venafi.htmlsalt.pillar.virtkey.htmlsalt.pillar.vmware_pillar.htmlindex.htmlproxyallindex.htmlsalt.proxy.arista_pyeapi.htmlsalt.proxy.chronos.htmlsalt.proxy.cimc.htmlsalt.proxy.cisconso.htmlsalt.proxy.deltaproxy.htmlsalt.proxy.docker.htmlsalt.proxy.dummy.htmlsalt.proxy.esxcluster.htmlsalt.proxy.esxdatacenter.htmlsalt.proxy.esxi.htmlsalt.proxy.esxvm.htmlsalt.proxy.fx2.htmlsalt.proxy.junos.htmlsalt.proxy.marathon.htmlsalt.proxy.napalm.htmlsalt.proxy.netmiko_px.htmlsalt.proxy.nxos.htmlsalt.proxy.nxos_api.htmlsalt.proxy.panos.htmlsalt.proxy.philips_hue.htmlsalt.proxy.rest_sample.htmlsalt.proxy.ssh_sample.htmlsalt.proxy.vcenter.htmlpublisheracl.htmlpython-api.htmlqueuesallindex.htmlsalt.queues.pgjsonb_queue.htmlsalt.queues.sqlite_queue.htmlrenderersallindex.htmlsalt.renderers.aws_kms.htmlsalt.renderers.cheetah.htmlsalt.renderers.dson.htmlsalt.renderers.genshi.htmlsalt.renderers.gpg.htmlsalt.renderers.hjson.htmlsalt.renderers.jinja.htmlsalt.renderers.json.htmlsalt.renderers.json5.htmlsalt.renderers.mako.htmlsalt.renderers.msgpack.htmlsalt.renderers.nacl.htmlsalt.renderers.pass.htmlsalt.renderers.py.htmlsalt.renderers.pydsl.htmlsalt.renderers.pyobjects.htmlsalt.renderers.stateconf.htmlsalt.renderers.tomlmod.htmlsalt.renderers.wempy.htmlsalt.renderers.yaml.htmlsalt.renderers.yamlex.htmlindex.htmlreturnersallindex.htmlsalt.returners.appoptics_return.htmlsalt.returners.carbon_return.htmlsalt.returners.cassandra_cql_return.htmlsalt.returners.cassandra_return.htmlsalt.returners.couchbase_return.htmlsalt.returners.couchdb_return.htmlsalt.returners.django_return.htmlsalt.returners.elasticsearch_return.htmlsalt.returners.etcd_return.htmlsalt.returners.highstate_return.htmlsalt.returners.influxdb_return.htmlsalt.returners.kafka_return.htmlsalt.returners.librato_return.htmlsalt.returners.local.htmlsalt.returners.local_cache.htmlsalt.returners.mattermost_returner.htmlsalt.returners.memcache_return.htmlsalt.returners.mongo_future_return.htmlsalt.returners.mongo_return.htmlsalt.returners.multi_returner.htmlsalt.returners.mysql.htmlsalt.returners.nagios_nrdp_return.htmlsalt.returners.odbc.htmlsalt.returners.pgjsonb.htmlsalt.returners.postgres.htmlsalt.returners.postgres_local_cache.htmlsalt.returners.pushover_returner.htmlsalt.returners.rawfile_json.htmlsalt.returners.redis_return.htmlsalt.returners.sentry_return.htmlsalt.returners.slack_returner.htmlsalt.returners.slack_webhook_return.htmlsalt.returners.sms_return.htmlsalt.returners.smtp_return.htmlsalt.returners.splunk.htmlsalt.returners.sqlite3_return.htmlsalt.returners.syslog_return.htmlsalt.returners.telegram_return.htmlsalt.returners.xmpp_return.htmlsalt.returners.zabbix_return.htmlindex.htmlrosterallindex.htmlsalt.roster.ansible.htmlsalt.roster.cache.htmlsalt.roster.cloud.htmlsalt.roster.clustershell.htmlsalt.roster.dir.htmlsalt.roster.flat.htmlsalt.roster.range.htmlsalt.roster.scan.htmlsalt.roster.sshconfig.htmlsalt.roster.terraform.htmlrunnersallindex.htmlsalt.runners.asam.htmlsalt.runners.auth.htmlsalt.runners.bgp.htmlsalt.runners.cache.htmlsalt.runners.cloud.htmlsalt.runners.config.htmlsalt.runners.ddns.htmlsalt.runners.digicertapi.htmlsalt.runners.doc.htmlsalt.runners.drac.htmlsalt.runners.error.htmlsalt.runners.event.htmlsalt.runners.f5.htmlsalt.runners.fileserver.htmlsalt.runners.git_pillar.htmlsalt.runners.http.htmlsalt.runners.jobs.htmlsalt.runners.launchd.htmlsalt.runners.lxc.htmlsalt.runners.manage.htmlsalt.runners.mattermost.htmlsalt.runners.mine.htmlsalt.runners.nacl.htmlsalt.runners.net.htmlsalt.runners.network.htmlsalt.runners.pagerduty.htmlsalt.runners.pillar.htmlsalt.runners.pkg.htmlsalt.runners.queue.htmlsalt.runners.reactor.htmlsalt.runners.salt.htmlsalt.runners.saltutil.htmlsalt.runners.sdb.htmlsalt.runners.smartos_vmadm.htmlsalt.runners.spacewalk.htmlsalt.runners.ssh.htmlsalt.runners.state.htmlsalt.runners.survey.htmlsalt.runners.test.htmlsalt.runners.thin.htmlsalt.runners.vault.htmlsalt.runners.venafiapi.htmlsalt.runners.virt.htmlsalt.runners.vistara.htmlsalt.runners.winrepo.htmlindex.htmlsdballindex.htmlsalt.sdb.cache.htmlsalt.sdb.confidant.htmlsalt.sdb.consul.htmlsalt.sdb.couchdb.htmlsalt.sdb.env.htmlsalt.sdb.etcd_db.htmlsalt.sdb.keyring_db.htmlsalt.sdb.memcached.htmlsalt.sdb.redis_sdb.htmlsalt.sdb.rest.htmlsalt.sdb.sqlite3.htmlsalt.sdb.tism.htmlsalt.sdb.vault.htmlsalt.sdb.yaml.htmlserializersallindex.htmlsalt.serializers.configparser.htmlsalt.serializers.json.htmlsalt.serializers.msgpack.htmlsalt.serializers.plist.htmlsalt.serializers.python.htmlsalt.serializers.toml.htmlsalt.serializers.yaml.htmlsalt.serializers.yamlex.htmlstatesaggregate.htmlallindex.htmlsalt.states.acme.htmlsalt.states.alias.htmlsalt.states.alternatives.htmlsalt.states.ansiblegate.htmlsalt.states.apache.htmlsalt.states.apache_conf.htmlsalt.states.apache_module.htmlsalt.states.apache_site.htmlsalt.states.aptpkg.htmlsalt.states.archive.htmlsalt.states.artifactory.htmlsalt.states.at.htmlsalt.states.augeas.htmlsalt.states.aws_sqs.htmlsalt.states.azurearm_compute.htmlsalt.states.azurearm_dns.htmlsalt.states.azurearm_network.htmlsalt.states.azurearm_resource.htmlsalt.states.beacon.htmlsalt.states.bigip.htmlsalt.states.blockdev.htmlsalt.states.boto3_elasticache.htmlsalt.states.boto3_elasticsearch.htmlsalt.states.boto3_route53.htmlsalt.states.boto3_sns.htmlsalt.states.boto_apigateway.htmlsalt.states.boto_asg.htmlsalt.states.boto_cfn.htmlsalt.states.boto_cloudfront.htmlsalt.states.boto_cloudtrail.htmlsalt.states.boto_cloudwatch_alarm.htmlsalt.states.boto_cloudwatch_event.htmlsalt.states.boto_cognitoidentity.htmlsalt.states.boto_datapipeline.htmlsalt.states.boto_dynamodb.htmlsalt.states.boto_ec2.htmlsalt.states.boto_elasticache.htmlsalt.states.boto_elasticsearch_domain.htmlsalt.states.boto_elb.htmlsalt.states.boto_elbv2.htmlsalt.states.boto_iam.htmlsalt.states.boto_iam_role.htmlsalt.states.boto_iot.htmlsalt.states.boto_kinesis.htmlsalt.states.boto_kms.htmlsalt.states.boto_lambda.htmlsalt.states.boto_lc.htmlsalt.states.boto_rds.htmlsalt.states.boto_route53.htmlsalt.states.boto_s3.htmlsalt.states.boto_s3_bucket.htmlsalt.states.boto_secgroup.htmlsalt.states.boto_sns.htmlsalt.states.boto_sqs.htmlsalt.states.boto_vpc.htmlsalt.states.bower.htmlsalt.states.btrfs.htmlsalt.states.cabal.htmlsalt.states.ceph.htmlsalt.states.chef.htmlsalt.states.chocolatey.htmlsalt.states.chronos_job.htmlsalt.states.cimc.htmlsalt.states.cisconso.htmlsalt.states.cloud.htmlsalt.states.cmd.htmlsalt.states.composer.htmlsalt.states.cron.htmlsalt.states.cryptdev.htmlsalt.states.csf.htmlsalt.states.cyg.htmlsalt.states.ddns.htmlsalt.states.debconfmod.htmlsalt.states.dellchassis.htmlsalt.states.disk.htmlsalt.states.docker_container.htmlsalt.states.docker_image.htmlsalt.states.docker_network.htmlsalt.states.docker_volume.htmlsalt.states.drac.htmlsalt.states.dvs.htmlsalt.states.elasticsearch.htmlsalt.states.elasticsearch_index.htmlsalt.states.elasticsearch_index_template.htmlsalt.states.environ.htmlsalt.states.eselect.htmlsalt.states.esxcluster.htmlsalt.states.esxdatacenter.htmlsalt.states.esxi.htmlsalt.states.esxvm.htmlsalt.states.etcd_mod.htmlsalt.states.ethtool.htmlsalt.states.event.htmlsalt.states.file.htmlsalt.states.firewall.htmlsalt.states.firewalld.htmlsalt.states.gem.htmlsalt.states.git.htmlsalt.states.github.htmlsalt.states.glance_image.htmlsalt.states.glassfish.htmlsalt.states.glusterfs.htmlsalt.states.gnomedesktop.htmlsalt.states.gpg.htmlsalt.states.grafana.htmlsalt.states.grafana4_dashboard.htmlsalt.states.grafana4_datasource.htmlsalt.states.grafana4_org.htmlsalt.states.grafana4_user.htmlsalt.states.grafana_dashboard.htmlsalt.states.grafana_datasource.htmlsalt.states.grains.htmlsalt.states.group.htmlsalt.states.heat.htmlsalt.states.helm.htmlsalt.states.hg.htmlsalt.states.highstate_doc.htmlsalt.states.host.htmlsalt.states.http.htmlsalt.states.icinga2.htmlsalt.states.idem.htmlsalt.states.ifttt.htmlsalt.states.incron.htmlsalt.states.influxdb08_database.htmlsalt.states.influxdb08_user.htmlsalt.states.influxdb_continuous_query.htmlsalt.states.influxdb_database.htmlsalt.states.influxdb_retention_policy.htmlsalt.states.influxdb_user.htmlsalt.states.infoblox_a.htmlsalt.states.infoblox_cname.htmlsalt.states.infoblox_host_record.htmlsalt.states.infoblox_range.htmlsalt.states.ini_manage.htmlsalt.states.ipmi.htmlsalt.states.ipset.htmlsalt.states.iptables.htmlsalt.states.jboss7.htmlsalt.states.jenkins.htmlsalt.states.junos.htmlsalt.states.kapacitor.htmlsalt.states.kernelpkg.htmlsalt.states.keyboard.htmlsalt.states.keystone.htmlsalt.states.keystone_domain.htmlsalt.states.keystone_endpoint.htmlsalt.states.keystone_group.htmlsalt.states.keystone_project.htmlsalt.states.keystone_role.htmlsalt.states.keystone_role_grant.htmlsalt.states.keystone_service.htmlsalt.states.keystone_user.htmlsalt.states.keystore.htmlsalt.states.kmod.htmlsalt.states.kubernetes.htmlsalt.states.layman.htmlsalt.states.ldap.htmlsalt.states.libcloud_dns.htmlsalt.states.libcloud_loadbalancer.htmlsalt.states.libcloud_storage.htmlsalt.states.linux_acl.htmlsalt.states.locale.htmlsalt.states.logadm.htmlsalt.states.logrotate.htmlsalt.states.loop.htmlsalt.states.lvm.htmlsalt.states.lvs_server.htmlsalt.states.lvs_service.htmlsalt.states.lxc.htmlsalt.states.lxd.htmlsalt.states.lxd_container.htmlsalt.states.lxd_image.htmlsalt.states.lxd_profile.htmlsalt.states.mac_assistive.htmlsalt.states.mac_keychain.htmlsalt.states.mac_xattr.htmlsalt.states.macdefaults.htmlsalt.states.macpackage.htmlsalt.states.makeconf.htmlsalt.states.marathon_app.htmlsalt.states.mdadm_raid.htmlsalt.states.memcached.htmlsalt.states.modjk.htmlsalt.states.modjk_worker.htmlsalt.states.module.htmlsalt.states.mongodb_database.htmlsalt.states.mongodb_user.htmlsalt.states.monit.htmlsalt.states.mount.htmlsalt.states.mssql_database.htmlsalt.states.mssql_login.htmlsalt.states.mssql_role.htmlsalt.states.mssql_user.htmlsalt.states.msteams.htmlsalt.states.mysql_database.htmlsalt.states.mysql_grants.htmlsalt.states.mysql_query.htmlsalt.states.mysql_user.htmlsalt.states.net_napalm_yang.htmlsalt.states.netacl.htmlsalt.states.netconfig.htmlsalt.states.netntp.htmlsalt.states.netsnmp.htmlsalt.states.netusers.htmlsalt.states.network.htmlsalt.states.neutron_network.htmlsalt.states.neutron_secgroup.htmlsalt.states.neutron_secgroup_rule.htmlsalt.states.neutron_subnet.htmlsalt.states.nexus.htmlsalt.states.nfs_export.htmlsalt.states.nftables.htmlsalt.states.npm.htmlsalt.states.ntp.htmlsalt.states.nxos.htmlsalt.states.nxos_upgrade.htmlsalt.states.openstack_config.htmlsalt.states.openvswitch_bridge.htmlsalt.states.openvswitch_port.htmlsalt.states.opsgenie.htmlsalt.states.pagerduty.htmlsalt.states.pagerduty_escalation_policy.htmlsalt.states.pagerduty_schedule.htmlsalt.states.pagerduty_service.htmlsalt.states.pagerduty_user.htmlsalt.states.panos.htmlsalt.states.pbm.htmlsalt.states.pcs.htmlsalt.states.pdbedit.htmlsalt.states.pecl.htmlsalt.states.pip_state.htmlsalt.states.pkg.htmlsalt.states.pkgbuild.htmlsalt.states.pkgng.htmlsalt.states.pkgrepo.htmlsalt.states.portage_config.htmlsalt.states.ports.htmlsalt.states.postgres_cluster.htmlsalt.states.postgres_database.htmlsalt.states.postgres_extension.htmlsalt.states.postgres_group.htmlsalt.states.postgres_initdb.htmlsalt.states.postgres_language.htmlsalt.states.postgres_privileges.htmlsalt.states.postgres_schema.htmlsalt.states.postgres_tablespace.htmlsalt.states.postgres_user.htmlsalt.states.powerpath.htmlsalt.states.probes.htmlsalt.states.process.htmlsalt.states.proxy.htmlsalt.states.pushover.htmlsalt.states.pyenv.htmlsalt.states.pyrax_queues.htmlsalt.states.quota.htmlsalt.states.rabbitmq_cluster.htmlsalt.states.rabbitmq_plugin.htmlsalt.states.rabbitmq_policy.htmlsalt.states.rabbitmq_upstream.htmlsalt.states.rabbitmq_user.htmlsalt.states.rabbitmq_vhost.htmlsalt.states.rbac_solaris.htmlsalt.states.rbenv.htmlsalt.states.rdp.htmlsalt.states.redismod.htmlsalt.states.reg.htmlsalt.states.rsync.htmlsalt.states.rvm.htmlsalt.states.salt_proxy.htmlsalt.states.saltmod.htmlsalt.states.saltsupport.htmlsalt.states.saltutil.htmlsalt.states.schedule.htmlsalt.states.selinux.htmlsalt.states.serverdensity_device.htmlsalt.states.service.htmlsalt.states.slack.htmlsalt.states.smartos.htmlsalt.states.smtp.htmlsalt.states.snapper.htmlsalt.states.solrcloud.htmlsalt.states.splunk.htmlsalt.states.splunk_search.htmlsalt.states.sqlite3.htmlsalt.states.ssh_auth.htmlsalt.states.ssh_known_hosts.htmlsalt.states.stateconf.htmlsalt.states.status.htmlsalt.states.statuspage.htmlsalt.states.supervisord.htmlsalt.states.svn.htmlsalt.states.sysctl.htmlsalt.states.syslog_ng.htmlsalt.states.sysrc.htmlsalt.states.telemetry_alert.htmlsalt.states.test.htmlsalt.states.testinframod.htmlsalt.states.timezone.htmlsalt.states.tls.htmlsalt.states.tomcat.htmlsalt.states.trafficserver.htmlsalt.states.tuned.htmlsalt.states.uptime.htmlsalt.states.user.htmlsalt.states.vagrant.htmlsalt.states.vault.htmlsalt.states.vbox_guest.htmlsalt.states.victorops.htmlsalt.states.virt.htmlsalt.states.virtualenv_mod.htmlsalt.states.webutil.htmlsalt.states.win_certutil.htmlsalt.states.win_dacl.htmlsalt.states.win_dism.htmlsalt.states.win_dns_client.htmlsalt.states.win_firewall.htmlsalt.states.win_iis.htmlsalt.states.win_lgpo.htmlsalt.states.win_license.htmlsalt.states.win_network.htmlsalt.states.win_path.htmlsalt.states.win_pki.htmlsalt.states.win_powercfg.htmlsalt.states.win_servermanager.htmlsalt.states.win_smtp_server.htmlsalt.states.win_snmp.htmlsalt.states.win_system.htmlsalt.states.win_wua.htmlsalt.states.win_wusa.htmlsalt.states.winrepo.htmlsalt.states.wordpress.htmlsalt.states.x509.htmlsalt.states.xml.htmlsalt.states.xmpp.htmlsalt.states.zabbix_action.htmlsalt.states.zabbix_host.htmlsalt.states.zabbix_hostgroup.htmlsalt.states.zabbix_mediatype.htmlsalt.states.zabbix_template.htmlsalt.states.zabbix_user.htmlsalt.states.zabbix_usergroup.htmlsalt.states.zabbix_usermacro.htmlsalt.states.zabbix_valuemap.htmlsalt.states.zcbuildout.htmlsalt.states.zenoss.htmlsalt.states.zfs.htmlsalt.states.zk_concurrency.htmlsalt.states.zone.htmlsalt.states.zookeeper.htmlsalt.states.zpool.htmlaltering_states.htmlbackup_mode.htmlcompiler_ordering.htmlextend.htmlfailhard.htmlglobal_state_arguments.htmlhighstate.htmlinclude.htmlindex.htmllayers.htmlmaster_side.htmlordering.htmlparallel.htmlproviders.htmlrequisites.htmlstartup.htmltesting.htmltop.htmlvars.htmlwriting.htmlthoriumallindex.htmlsalt.thorium.calc.htmlsalt.thorium.check.htmlsalt.thorium.file.htmlsalt.thorium.key.htmlsalt.thorium.local.htmlsalt.thorium.reg.htmlsalt.thorium.runner.htmlsalt.thorium.status.htmlsalt.thorium.timer.htmlsalt.thorium.wheel.htmltokensallindex.htmlsalt.tokens.localfs.htmlsalt.tokens.rediscluster.htmltopsallindex.htmlsalt.tops.cobbler.htmlsalt.tops.ext_nodes.htmlsalt.tops.mongo.htmlsalt.tops.reclass_adapter.htmlsalt.tops.saltclass.htmlsalt.tops.varstack_top.htmlindex.htmlwheelallindex.htmlsalt.wheel.config.htmlsalt.wheel.error.htmlsalt.wheel.file_roots.htmlsalt.wheel.key.htmlsalt.wheel.minions.htmlsalt.wheel.pillar_roots.htmlsearch.htmlsearchindex.jssecurityindex.htmltopicsabout_salt_project.htmlapi.htmlbeaconsindex.htmlbest_practices.htmlblackoutindex.htmlcacheindex.htmlcloudaction.htmlaliyun.htmlaws.htmlazure.htmlazurearm.htmlbasic.htmlcloud.htmlcloudstack.htmlconfig.htmldeploy.htmldigitalocean.htmldimensiondata.htmlfeatures.htmlfunction.htmlgce.htmlgogrid.htmlhpcloud.htmlindex.htmlinstallindex.htmljoyent.htmllibvirt.htmllinode.htmllxc.htmlmap.htmlmisc.htmloneandone.htmlopennebula.htmlopenstack.htmlparallels.htmlprofiles.htmlprofitbricks.htmlproxmox.htmlqs.htmlreactor.htmlreleases0.6.0.html0.7.0.html0.8.0.html0.8.1.html0.8.2.html0.8.3.html0.8.4.html0.8.5.html0.8.6.html0.8.7.html0.8.9.htmlindex.htmlsalt.htmlsaltify.htmlscaleway.htmlsoftlayer.htmltencentcloud.htmltroubleshooting.htmlvagrant.htmlvexxhost.htmlvirtualbox.htmlvmware.htmlwindows.htmlxen.htmlconfigurationindex.htmldevelopmentarchitecture.htmlchangelog.htmlcontributing.htmlconventionsdocumentation.htmlformulas.htmlindex.htmlpackaging.htmlrelease.htmlstyle.htmldeprecations.htmlextendindex.htmlfaq-py2-deprecation.htmlgitindex.htmlhacking.htmlindex.htmllabels.htmllogging.htmlmodulesconfiguration.htmldeveloping.htmlexternal_pillars.htmlindex.htmlssh_wrapper.htmlpackage_providers.htmlpull_requests.htmlreporting_bugs.htmltestsindex.htmlintegration.htmlunit.htmltopology.htmltutorial.htmleauthaccess_control.htmlindex.htmlenginesindex.htmleventevents.htmlindex.htmlmaster_events.htmlexecutionindex.htmlremote_execution.htmlext_processesindex.htmlgrainsindex.htmlhardening.htmlhighavailabilityindex.htmlindex.htmlinstallationarch.htmldebian.htmleos.htmlfedora.htmlfreebsd.htmlgentoo.htmlindex.htmlnxos.htmlopenbsd.htmlosx.htmlrhel.htmlsolaris.htmlsuse.htmlubuntu.htmlwindows.htmljinjaindex.htmljobsexternal_cache.htmlindex.htmljob_cache.htmlmaster_topsindex.htmlmatchersindex.htmlmineindex.htmlnetapiindex.htmlwriting.htmlnetwork_automationindex.htmlorchestrateindex.htmlorchestrate_runner.htmlpillarindex.htmlprojectsindex.htmlproxyminionbeacon.htmldemo.htmlindex.htmlssh.htmlstate.htmlreactorindex.htmlreleases0.10.0.html0.10.1.html0.10.2.html0.10.3.html0.10.4.html0.10.5.html0.11.0.html0.11.1.html0.12.0.html0.12.1.html0.13.0.html0.13.1.html0.13.2.html0.13.3.html0.14.0.html0.14.1.html0.15.0.html0.15.1.html0.15.2.html0.15.3.html0.16.0.html0.16.1.html0.16.2.html0.16.3.html0.16.4.html0.17.0.html0.17.1.html0.17.2.html0.17.3.html0.17.4.html0.17.5.html0.6.0.html0.7.0.html0.8.0.html0.8.7.html0.8.8.html0.8.9.html0.9.0.html0.9.1.html0.9.2.html0.9.3.html0.9.4.html0.9.5.html0.9.6.html0.9.7.html0.9.8.html0.9.9.html2014.1.0.html2014.1.1.html2014.1.10.html2014.1.11.html2014.1.12.html2014.1.13.html2014.1.2.html2014.1.3.html2014.1.4.html2014.1.5.html2014.1.6.html2014.1.7.html2014.1.8.html2014.1.9.html2014.7.0.html2014.7.1.html2014.7.2.html2014.7.3.html2014.7.4.html2014.7.5.html2014.7.6.html2014.7.7.html2014.7.8.html2014.7.9.html2015.5.0.html2015.5.1.html2015.5.10.html2015.5.11.html2015.5.2.html2015.5.3.html2015.5.4.html2015.5.5.html2015.5.6.html2015.5.7.html2015.5.8.html2015.5.9.html2015.8.0.html2015.8.1.html2015.8.10.html2015.8.11.html2015.8.12.html2015.8.13.html2015.8.2.html2015.8.3.html2015.8.4.html2015.8.5.html2015.8.7.html2015.8.8.2.html2015.8.8.html2015.8.9.html2016.11.0.html2016.11.1.html2016.11.10.html2016.11.2.html2016.11.3.html2016.11.4.html2016.11.5.html2016.11.6.html2016.11.7.html2016.11.8.html2016.11.9.html2016.3.0.html2016.3.1.html2016.3.2.html2016.3.3.html2016.3.4.html2016.3.5.html2016.3.6.html2016.3.7.html2016.3.8.html2016.3.9.html2017.7.0.html2017.7.1.html2017.7.2.html2017.7.3.html2017.7.4.html2017.7.5.html2017.7.6.html2017.7.7.html2017.7.8.html2017.7.9.html2018.3.0.html2018.3.1.html2018.3.2.html2018.3.3.html2018.3.4.html2018.3.5.html2019.2.0.html2019.2.1.html2019.2.2.html2019.2.3.html2019.2.4.html2019.2.5.html2019.2.6.html2019.2.7.html2019.2.8.html3000.1.html3000.2.html3000.3.html3000.4.html3000.5.html3000.6.html3000.7.html3000.8.html3000.9.html3000.html3001.1.html3001.2.html3001.3.html3001.4.html3001.5.html3001.6.html3001.7.html3001.8.html3001.html3002.1.html3002.2.html3002.3.html3002.4.html3002.5.html3002.6.html3002.7.html3002.html3003.1.html3003.2.html3003.3.html3003.html3004.htmlincludes2015.8.0.pull_list.htmlgit-2015.8.0.htmlproxy-2015.8.0.htmlindex.htmlreleasecandidate.htmlsaltapi0.5.0.html0.6.0.html0.7.0.html0.7.5.html0.8.0.html0.8.2.html0.8.3.html0.8.4.html2016.3.6.htmlindex.htmlversion_numbers.htmlreturn_codesindex.htmlsalt_system_architecture.htmlsdbindex.htmlslotsindex.htmlsolarisindex.htmlsolaris-specific-behavior.htmlspmconfig.htmldev.htmlindex.htmlmaster.htmlpackaging.htmlrepo.htmlspm_formula.htmlsshindex.htmlroster.htmlssh_ext_alternatives.htmlstatesindex.htmltargetingbatch.htmlcompound.htmlglobbing.htmlgrains.htmlindex.htmlipcidr.htmlnodegroups.htmlpillar.htmlrange.htmlthoriumindex.htmltopologyindex.htmlsyndic.htmltransportsindex.htmltcp.htmlzeromq.htmltroubleshootingindex.htmlmaster.htmlminion.htmlyaml_idiosyncrasies.htmltutorialsautoaccept_grains.htmlcloud_controller.htmlcron.htmldocker_sls.htmlesky.htmlesxi_proxy_minion.htmlfirewall.htmlgitfs.htmlhttp.htmlindex.htmlintro_scale.htmljinja_to_execution_module.htmllibcloud.htmllxc.htmlminionfs.htmlmodules.htmlmultimaster.htmlmultimaster_pki.htmlpackaging_modules.htmlpillar.htmlpreseed_key.htmlquickstart.htmlrooted.htmlsalt_bootstrap.htmlstandalone_minion.htmlstarting_states.htmlstates_pt1.htmlstates_pt2.htmlstates_pt3.htmlstates_pt4.htmlstates_pt5.htmlsyslog_ng-state-usage.htmlwalkthrough.htmlwalkthrough_macosx.htmlwriting_tests.htmlusing_salt.htmlutilsindex.htmlvenafiindex.htmlvirtdisk.htmlindex.htmlnic.htmlwindowsindex.htmlwindows-package-manager.htmlwindows-specific-behavior.htmlyamlindex.html/usr/share/doc/packages//usr/share/doc/packages/salt-doc//usr/share/doc/packages/salt-doc/html//usr/share/doc/packages/salt-doc/html/_images//usr/share/doc/packages/salt-doc/html/_sources//usr/share/doc/packages/salt-doc/html/_sources/ref//usr/share/doc/packages/salt-doc/html/_sources/ref/auth//usr/share/doc/packages/salt-doc/html/_sources/ref/auth/all//usr/share/doc/packages/salt-doc/html/_sources/ref/beacons//usr/share/doc/packages/salt-doc/html/_sources/ref/beacons/all//usr/share/doc/packages/salt-doc/html/_sources/ref/cache//usr/share/doc/packages/salt-doc/html/_sources/ref/cache/all//usr/share/doc/packages/salt-doc/html/_sources/ref/cli//usr/share/doc/packages/salt-doc/html/_sources/ref/clients//usr/share/doc/packages/salt-doc/html/_sources/ref/clouds//usr/share/doc/packages/salt-doc/html/_sources/ref/clouds/all//usr/share/doc/packages/salt-doc/html/_sources/ref/configuration//usr/share/doc/packages/salt-doc/html/_sources/ref/configuration/logging//usr/share/doc/packages/salt-doc/html/_sources/ref/configuration/logging/handlers//usr/share/doc/packages/salt-doc/html/_sources/ref/engines//usr/share/doc/packages/salt-doc/html/_sources/ref/engines/all//usr/share/doc/packages/salt-doc/html/_sources/ref/executors//usr/share/doc/packages/salt-doc/html/_sources/ref/executors/all//usr/share/doc/packages/salt-doc/html/_sources/ref/file_server//usr/share/doc/packages/salt-doc/html/_sources/ref/file_server/all//usr/share/doc/packages/salt-doc/html/_sources/ref/grains//usr/share/doc/packages/salt-doc/html/_sources/ref/grains/all//usr/share/doc/packages/salt-doc/html/_sources/ref/internals//usr/share/doc/packages/salt-doc/html/_sources/ref/modules//usr/share/doc/packages/salt-doc/html/_sources/ref/modules/all//usr/share/doc/packages/salt-doc/html/_sources/ref/netapi//usr/share/doc/packages/salt-doc/html/_sources/ref/netapi/all//usr/share/doc/packages/salt-doc/html/_sources/ref/output//usr/share/doc/packages/salt-doc/html/_sources/ref/output/all//usr/share/doc/packages/salt-doc/html/_sources/ref/pillar//usr/share/doc/packages/salt-doc/html/_sources/ref/pillar/all//usr/share/doc/packages/salt-doc/html/_sources/ref/proxy//usr/share/doc/packages/salt-doc/html/_sources/ref/proxy/all//usr/share/doc/packages/salt-doc/html/_sources/ref/queues//usr/share/doc/packages/salt-doc/html/_sources/ref/queues/all//usr/share/doc/packages/salt-doc/html/_sources/ref/renderers//usr/share/doc/packages/salt-doc/html/_sources/ref/renderers/all//usr/share/doc/packages/salt-doc/html/_sources/ref/returners//usr/share/doc/packages/salt-doc/html/_sources/ref/returners/all//usr/share/doc/packages/salt-doc/html/_sources/ref/roster//usr/share/doc/packages/salt-doc/html/_sources/ref/roster/all//usr/share/doc/packages/salt-doc/html/_sources/ref/runners//usr/share/doc/packages/salt-doc/html/_sources/ref/runners/all//usr/share/doc/packages/salt-doc/html/_sources/ref/sdb//usr/share/doc/packages/salt-doc/html/_sources/ref/sdb/all//usr/share/doc/packages/salt-doc/html/_sources/ref/serializers//usr/share/doc/packages/salt-doc/html/_sources/ref/serializers/all//usr/share/doc/packages/salt-doc/html/_sources/ref/states//usr/share/doc/packages/salt-doc/html/_sources/ref/states/all//usr/share/doc/packages/salt-doc/html/_sources/ref/thorium//usr/share/doc/packages/salt-doc/html/_sources/ref/thorium/all//usr/share/doc/packages/salt-doc/html/_sources/ref/tokens//usr/share/doc/packages/salt-doc/html/_sources/ref/tokens/all//usr/share/doc/packages/salt-doc/html/_sources/ref/tops//usr/share/doc/packages/salt-doc/html/_sources/ref/tops/all//usr/share/doc/packages/salt-doc/html/_sources/ref/wheel//usr/share/doc/packages/salt-doc/html/_sources/ref/wheel/all//usr/share/doc/packages/salt-doc/html/_sources/security//usr/share/doc/packages/salt-doc/html/_sources/topics//usr/share/doc/packages/salt-doc/html/_sources/topics/beacons//usr/share/doc/packages/salt-doc/html/_sources/topics/blackout//usr/share/doc/packages/salt-doc/html/_sources/topics/cache//usr/share/doc/packages/salt-doc/html/_sources/topics/cloud//usr/share/doc/packages/salt-doc/html/_sources/topics/cloud/install//usr/share/doc/packages/salt-doc/html/_sources/topics/cloud/releases//usr/share/doc/packages/salt-doc/html/_sources/topics/configuration//usr/share/doc/packages/salt-doc/html/_sources/topics/development//usr/share/doc/packages/salt-doc/html/_sources/topics/development/conventions//usr/share/doc/packages/salt-doc/html/_sources/topics/development/extend//usr/share/doc/packages/salt-doc/html/_sources/topics/development/git//usr/share/doc/packages/salt-doc/html/_sources/topics/development/modules//usr/share/doc/packages/salt-doc/html/_sources/topics/development/tests//usr/share/doc/packages/salt-doc/html/_sources/topics/eauth//usr/share/doc/packages/salt-doc/html/_sources/topics/engines//usr/share/doc/packages/salt-doc/html/_sources/topics/event//usr/share/doc/packages/salt-doc/html/_sources/topics/execution//usr/share/doc/packages/salt-doc/html/_sources/topics/ext_processes//usr/share/doc/packages/salt-doc/html/_sources/topics/grains//usr/share/doc/packages/salt-doc/html/_sources/topics/highavailability//usr/share/doc/packages/salt-doc/html/_sources/topics/installation//usr/share/doc/packages/salt-doc/html/_sources/topics/jinja//usr/share/doc/packages/salt-doc/html/_sources/topics/jobs//usr/share/doc/packages/salt-doc/html/_sources/topics/master_tops//usr/share/doc/packages/salt-doc/html/_sources/topics/matchers//usr/share/doc/packages/salt-doc/html/_sources/topics/mine//usr/share/doc/packages/salt-doc/html/_sources/topics/netapi//usr/share/doc/packages/salt-doc/html/_sources/topics/network_automation//usr/share/doc/packages/salt-doc/html/_sources/topics/orchestrate//usr/share/doc/packages/salt-doc/html/_sources/topics/pillar//usr/share/doc/packages/salt-doc/html/_sources/topics/projects//usr/share/doc/packages/salt-doc/html/_sources/topics/proxyminion//usr/share/doc/packages/salt-doc/html/_sources/topics/reactor//usr/share/doc/packages/salt-doc/html/_sources/topics/releases//usr/share/doc/packages/salt-doc/html/_sources/topics/releases/includes//usr/share/doc/packages/salt-doc/html/_sources/topics/releases/saltapi//usr/share/doc/packages/salt-doc/html/_sources/topics/return_codes//usr/share/doc/packages/salt-doc/html/_sources/topics/sdb//usr/share/doc/packages/salt-doc/html/_sources/topics/slots//usr/share/doc/packages/salt-doc/html/_sources/topics/solaris//usr/share/doc/packages/salt-doc/html/_sources/topics/spm//usr/share/doc/packages/salt-doc/html/_sources/topics/ssh//usr/share/doc/packages/salt-doc/html/_sources/topics/states//usr/share/doc/packages/salt-doc/html/_sources/topics/targeting//usr/share/doc/packages/salt-doc/html/_sources/topics/thorium//usr/share/doc/packages/salt-doc/html/_sources/topics/topology//usr/share/doc/packages/salt-doc/html/_sources/topics/transports//usr/share/doc/packages/salt-doc/html/_sources/topics/troubleshooting//usr/share/doc/packages/salt-doc/html/_sources/topics/tutorials//usr/share/doc/packages/salt-doc/html/_sources/topics/utils//usr/share/doc/packages/salt-doc/html/_sources/topics/venafi//usr/share/doc/packages/salt-doc/html/_sources/topics/virt//usr/share/doc/packages/salt-doc/html/_sources/topics/windows//usr/share/doc/packages/salt-doc/html/_sources/topics/yaml//usr/share/doc/packages/salt-doc/html/_static//usr/share/doc/packages/salt-doc/html/_static/css//usr/share/doc/packages/salt-doc/html/_static/fonts//usr/share/doc/packages/salt-doc/html/_static/fonts/lato//usr/share/doc/packages/salt-doc/html/_static/fonts/lato/v11//usr/share/doc/packages/salt-doc/html/_static/images//usr/share/doc/packages/salt-doc/html/_static/js//usr/share/doc/packages/salt-doc/html/ref//usr/share/doc/packages/salt-doc/html/ref/auth//usr/share/doc/packages/salt-doc/html/ref/auth/all//usr/share/doc/packages/salt-doc/html/ref/beacons//usr/share/doc/packages/salt-doc/html/ref/beacons/all//usr/share/doc/packages/salt-doc/html/ref/cache//usr/share/doc/packages/salt-doc/html/ref/cache/all//usr/share/doc/packages/salt-doc/html/ref/cli//usr/share/doc/packages/salt-doc/html/ref/clients//usr/share/doc/packages/salt-doc/html/ref/clouds//usr/share/doc/packages/salt-doc/html/ref/clouds/all//usr/share/doc/packages/salt-doc/html/ref/configuration//usr/share/doc/packages/salt-doc/html/ref/configuration/logging//usr/share/doc/packages/salt-doc/html/ref/configuration/logging/handlers//usr/share/doc/packages/salt-doc/html/ref/engines//usr/share/doc/packages/salt-doc/html/ref/engines/all//usr/share/doc/packages/salt-doc/html/ref/executors//usr/share/doc/packages/salt-doc/html/ref/executors/all//usr/share/doc/packages/salt-doc/html/ref/file_server//usr/share/doc/packages/salt-doc/html/ref/file_server/all//usr/share/doc/packages/salt-doc/html/ref/grains//usr/share/doc/packages/salt-doc/html/ref/grains/all//usr/share/doc/packages/salt-doc/html/ref/internals//usr/share/doc/packages/salt-doc/html/ref/modules//usr/share/doc/packages/salt-doc/html/ref/modules/all//usr/share/doc/packages/salt-doc/html/ref/netapi//usr/share/doc/packages/salt-doc/html/ref/netapi/all//usr/share/doc/packages/salt-doc/html/ref/output//usr/share/doc/packages/salt-doc/html/ref/output/all//usr/share/doc/packages/salt-doc/html/ref/pillar//usr/share/doc/packages/salt-doc/html/ref/pillar/all//usr/share/doc/packages/salt-doc/html/ref/proxy//usr/share/doc/packages/salt-doc/html/ref/proxy/all//usr/share/doc/packages/salt-doc/html/ref/queues//usr/share/doc/packages/salt-doc/html/ref/queues/all//usr/share/doc/packages/salt-doc/html/ref/renderers//usr/share/doc/packages/salt-doc/html/ref/renderers/all//usr/share/doc/packages/salt-doc/html/ref/returners//usr/share/doc/packages/salt-doc/html/ref/returners/all//usr/share/doc/packages/salt-doc/html/ref/roster//usr/share/doc/packages/salt-doc/html/ref/roster/all//usr/share/doc/packages/salt-doc/html/ref/runners//usr/share/doc/packages/salt-doc/html/ref/runners/all//usr/share/doc/packages/salt-doc/html/ref/sdb//usr/share/doc/packages/salt-doc/html/ref/sdb/all//usr/share/doc/packages/salt-doc/html/ref/serializers//usr/share/doc/packages/salt-doc/html/ref/serializers/all//usr/share/doc/packages/salt-doc/html/ref/states//usr/share/doc/packages/salt-doc/html/ref/states/all//usr/share/doc/packages/salt-doc/html/ref/thorium//usr/share/doc/packages/salt-doc/html/ref/thorium/all//usr/share/doc/packages/salt-doc/html/ref/tokens//usr/share/doc/packages/salt-doc/html/ref/tokens/all//usr/share/doc/packages/salt-doc/html/ref/tops//usr/share/doc/packages/salt-doc/html/ref/tops/all//usr/share/doc/packages/salt-doc/html/ref/wheel//usr/share/doc/packages/salt-doc/html/ref/wheel/all//usr/share/doc/packages/salt-doc/html/security//usr/share/doc/packages/salt-doc/html/topics//usr/share/doc/packages/salt-doc/html/topics/beacons//usr/share/doc/packages/salt-doc/html/topics/blackout//usr/share/doc/packages/salt-doc/html/topics/cache//usr/share/doc/packages/salt-doc/html/topics/cloud//usr/share/doc/packages/salt-doc/html/topics/cloud/install//usr/share/doc/packages/salt-doc/html/topics/cloud/releases//usr/share/doc/packages/salt-doc/html/topics/configuration//usr/share/doc/packages/salt-doc/html/topics/development//usr/share/doc/packages/salt-doc/html/topics/development/conventions//usr/share/doc/packages/salt-doc/html/topics/development/extend//usr/share/doc/packages/salt-doc/html/topics/development/git//usr/share/doc/packages/salt-doc/html/topics/development/modules//usr/share/doc/packages/salt-doc/html/topics/development/tests//usr/share/doc/packages/salt-doc/html/topics/eauth//usr/share/doc/packages/salt-doc/html/topics/engines//usr/share/doc/packages/salt-doc/html/topics/event//usr/share/doc/packages/salt-doc/html/topics/execution//usr/share/doc/packages/salt-doc/html/topics/ext_processes//usr/share/doc/packages/salt-doc/html/topics/grains//usr/share/doc/packages/salt-doc/html/topics/highavailability//usr/share/doc/packages/salt-doc/html/topics/installation//usr/share/doc/packages/salt-doc/html/topics/jinja//usr/share/doc/packages/salt-doc/html/topics/jobs//usr/share/doc/packages/salt-doc/html/topics/master_tops//usr/share/doc/packages/salt-doc/html/topics/matchers//usr/share/doc/packages/salt-doc/html/topics/mine//usr/share/doc/packages/salt-doc/html/topics/netapi//usr/share/doc/packages/salt-doc/html/topics/network_automation//usr/share/doc/packages/salt-doc/html/topics/orchestrate//usr/share/doc/packages/salt-doc/html/topics/pillar//usr/share/doc/packages/salt-doc/html/topics/projects//usr/share/doc/packages/salt-doc/html/topics/proxyminion//usr/share/doc/packages/salt-doc/html/topics/reactor//usr/share/doc/packages/salt-doc/html/topics/releases//usr/share/doc/packages/salt-doc/html/topics/releases/includes//usr/share/doc/packages/salt-doc/html/topics/releases/saltapi//usr/share/doc/packages/salt-doc/html/topics/return_codes//usr/share/doc/packages/salt-doc/html/topics/sdb//usr/share/doc/packages/salt-doc/html/topics/slots//usr/share/doc/packages/salt-doc/html/topics/solaris//usr/share/doc/packages/salt-doc/html/topics/spm//usr/share/doc/packages/salt-doc/html/topics/ssh//usr/share/doc/packages/salt-doc/html/topics/states//usr/share/doc/packages/salt-doc/html/topics/targeting//usr/share/doc/packages/salt-doc/html/topics/thorium//usr/share/doc/packages/salt-doc/html/topics/topology//usr/share/doc/packages/salt-doc/html/topics/transports//usr/share/doc/packages/salt-doc/html/topics/troubleshooting//usr/share/doc/packages/salt-doc/html/topics/tutorials//usr/share/doc/packages/salt-doc/html/topics/utils//usr/share/doc/packages/salt-doc/html/topics/venafi//usr/share/doc/packages/salt-doc/html/topics/virt//usr/share/doc/packages/salt-doc/html/topics/windows//usr/share/doc/packages/salt-doc/html/topics/yaml/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:26882/SUSE_SLE-15-SP3_Update/f775a6856b5f620f96729809c8ae9340-salt.SUSE_SLE-15-SP3_Updatedrpmxz5ppc64le-suse-linux                                                      !"#$%&'()*+,-./ 0012 31111 1 111  445  6 7 8 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999directoryHTML document, ASCII text, with very long linesPNG image data, 601 x 308, 8-bit/color RGBA, non-interlacedPNG image data, 523 x 265, 8-bit/color RGBA, non-interlacedPNG image data, 216 x 272, 8-bit/color RGBA, non-interlacedPNG image data, 784 x 747, 8-bit/color RGBA, non-interlacedPNG image data, 1013 x 358, 8-bit/color RGBA, non-interlacedPNG image data, 1775 x 1975, 8-bit/color RGB, non-interlacedPNG image data, 623 x 655, 8-bit/color RGBA, non-interlacedPNG image data, 1138 x 538, 8-bit/color RGBA, non-interlacedPNG image data, 1219 x 601, 8-bit/color RGBA, non-interlacedASCII textASCII text, with CRLF line terminatorsPython script, ASCII text executableUTF-8 Unicode (with BOM) textassembler source, ASCII textASCII text, with very long linesUTF-8 Unicode textC++ source, ASCII textC++ source, UTF-8 Unicode text, with very long linesRuby script, ASCII textPython script, UTF-8 Unicode text executableUTF-8 Unicode text, with CRLF, LF line terminatorsUTF-8 Unicode text, with very long linesPython script, ASCII text executable, with very long linesUTF-8 Unicode text, with CRLF line terminatorsHTML document, UTF-8 Unicode textPNG image data, 27 x 27, 8-bit colormap, non-interlacedGIF image data, version 89a, 32 x 32PNG image data, 50 x 45, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedSVG Scalable Vector Graphics imageTrueType Font data, 17 tables, 1st "FFTM", 15 names, Macintosh, type 19 string, www.glyphicons.comWeb Open Font Format, TrueType, length 23320, version 1.0Web Open Font Format (Version 2), TrueType, length 16896, version 1.6816Web Open Font Format (Version 2), TrueType, length 18908, version 1.6816Web Open Font Format (Version 2), TrueType, length 17036, version 1.6816Web Open Font Format (Version 2), TrueType, length 2768, version 1.6816Web Open Font Format (Version 2), TrueType, length 2884, version 1.6816Web Open Font Format (Version 2), TrueType, length 17168, version 1.6816Web Open Font Format (Version 2), TrueType, length 3380, version 1.6816Web Open Font Format (Version 2), TrueType, length 16436, version 1.6816Web Open Font Format (Version 2), TrueType, length 16392, version 1.6816Web Open Font Format (Version 2), TrueType, length 2840, version 1.6816Web Open Font Format (Version 2), TrueType, length 2836, version 1.6816Web Open Font Format (Version 2), TrueType, length 2808, version 1.6816PNG image data, 330 x 330, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 124, 8-bit colormap, non-interlacedPNG image data, 500 x 500, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=1, software=Picasa], baseline, precision 8, 1500x776, frames 3PNG image data, 600 x 389, 8-bit colormap, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedXML 1.0 document, ASCII text, with very long linesPNG image data, 2000 x 295, 8-bit/color RGBA, non-interlacedPNG image data, 2000 x 696, 8-bit colormap, non-interlacedPNG image data, 1917 x 918, 8-bit/color RGBA, non-interlacedHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode text, with very long lines, with overstrikingASCII text, with very long lines, with no line terminators[_*Xp-_6Ɉbputf-86ce9686fbcb979cf12fa3ccc9bb708ec7a2ffef95c93766ba214bc44e8a39abd?P7zXZ !t/]K{]"k%To9txw|]@c j˥e.Ccܠ sشFYtuȼeS ZG?ǎs)27ټē x-S7[G(zzIKmkd250ރ%!ۯD꿆؄o6QeŹY Di d`c3:}_n!634TQz8A^`H95|oGp/h6G7eR!R_G)VlcS;}E&I0*:ݚ%D4kt%BOy1*o?Oc0&+ tB ,oYfC!zt`xu;MRՒ2 -A̐M!U?zgx:Jh1:ni8(K` _ ,O{Le5XpRnoI[+^g>k5nѨVE\&o1V-G xQ>?ZNb/_0qb")05oپav{ߛC(ͨH9 c@ds11K| ߒqͦI"U1\d<&4B|Ĵ ‰4̀qcq>/k cm`0Xj)}nXvA&sj /U/|C[ߚ=~sljiUK%q;o|aKOڻqf KΛ^7f9#v4-̛w|_2d= :4sI%ϗyxrU/~;~*IQL]FlRpgL[` sns`J䩹ztAY_Pd웈 N´JfN9AU==a0uPimgd8$_A> ,}_^?сJfm;&GUsQOz *dVrhfN;ϭ?ʘ=0lwgv}0SFd;I/ q{X)7wi 0$J28P!<Z.*Fs|1cΆ5Fp"12X XjŮgn~n6X|hGm!xDpM4ʹfɪ^wPWwшoa#u?e}5?t ȋi;E@њ7n1;lTȲ mj0YcSvJr|~m XrzFgXk⮻*uj\5~=3GmGRz2VsM,ـe>3fČБ4m,uq~^N/cYklD s1."A u67eXq㘼3xNާm-QI\Tc+dGN  iX]nPdh ,!a{bQ` bUZA!AU =}{o#UO}ֳ#E+ٲB2-B79ޭ{M44Nʘf?P0XԕO_/LldZQW[L (za -'5ZK$ԈQ=*)8z?">gd-&<Ё8UC dfjv%80,ҰvhӇ }~>@n} ψwϮO^JrPi ylebFMkRKKw+g&IHt`k})g| F:b G+U#@BTrN="/s=Z;v%VCJO.Nb֡[X.uUϡafs&m#K+t>j8ӂSA F5;y X<ب)w UئFP zF[b1p1N9:x¿WqӗZ$ɠ:m1j!|3sAd0r,L)^=իʺ34t*t]F |u@y6H"Inc=D_ kؔa)rmR: T=yMRN|x 0:|0&#փKNTJ J{DjWaD`olC}\};@-<~B-0{zwpk`+X@Pk 70jJ^UNu|McB"=EYa /P ګnlۨf;SYX V,/*ੴEdf48A}2Uۉw%h \UfBG}jU7? X 3'7WMꂾ3,Auh7enȕ<ӎMEikɷ vcq9p5 YIylWfT2&R灢u@fTť7)Pa10\w}h}~0Х,:̐hF4z%Zn,6>[vIZzfo(~#yy]ֻܣB̊|'\ ξ! PJr}G]Bƾ@BZw{Z6(>0 ?mPϛ֤!_^8J ,OBvMQtxdY9_?BqxJ|X]hƳyjW@ߧVf-eN'llORW@˞Ī_y(W[KwY=?$oF)`'7[;̱Z9ZG])5fc٨M3hY玤{ ǯh$>q%;ߝ?+# ]w2Đ@<{uy6.Ι'bI2/7lUVFpdSjb)÷>,rz'wq`u16V'?`з")m䁹H`aK?T3q{ɯ,::MLlth,7Nf(w; knO [5{!#H6hѳ?vIUu<8*\LW1ӡ {m}ͽ@}׍~Bgɋ\kT0dY\&gu #28{]c9`؇ot3J5sDy|lf1YiG2mh}uJ֊~J9j&h\QxVO|SGܓ&o0%M"j+tv`$Oս,{mpL%n"o!qcjn*Uc#k7gWZtAc9~XGjtbZtwQT)I?A0Zd{SU|K >dr`q16(1A*_lȒ*??-K'l y-lV9eWN|?aowrd3sgӽ! 6>^*5Gd-+v!10Jʢ!F(?IY9%w3]N $o=/)WP“:K${26Q]+1Ռe2j߹vSln nP` ^̌1 iL⍿2܄!D׭Hht.P$n !{2ۡ.`$K1u !6'шn'S dӯ+>sl"4F?F}&\xTh:lz.4e8ز3(@=o^}8+u"TGOJX7m]eZ94W@W PsF‰4ʅMt9C܀e~RVwmvWѿJWsU:+& (L=+z3XrAt֔Z̦j5f@&SuCn>^6"bf|dj3@ @áCe8)tUGɕ9/v'rsN* (K0, VJg 7HdwwXRJ$[0Ϡ It@"RZچ˴&xi}21 ||\haXUseE5մLIqUD`(D7ge>#W@ԷŸ́L (S7:s~|Cm+2 w/ng !:gv g,$ W=.;Sa=lS^Vo'N_ iAGq2I"NoGKGƂ5n‡zr5+JTUy>6[Z 4_ĠvvןRG|x;wQ&%J)1~aË0ETE xL2|oZi@cuPX=rܬ挭 ϶~Om9 /߂r\}c@R9a75؅Ԃq_=%"`V9iny />"/!ᵀiZ6QiboB٭a @Am(I*_&qQ5N=^z6|CeIə<, G#ܹː"r?SPzµ}~* `;uOY=Ofe,8Q5 pI-FO l,T$Ñ~>[^)$`}VQG7f9QUZCk(ngnOfgv^zsR5_ |ZUŒ_ gBp^w&_`c,ǕiˬJܩ}H)k*ϯQ9 &34>fW7Ǵ$QhۗU"E6p@cD3U $X6+Lk&ۑԄ {G5@nK!wFҶƻ^"\<[950jn%+&U+(J/+9 TO^Ԧ>QsSˊɉu* =t4X~yp䣞l\س3X&=.R+Q~yϹ:p o۲D$iԄ\yCْkIod24tǽ YI05xe/@ F7l5O gY<16g%&Dx!LDz&oRm} @'hX"-¾?d$صq#S£ ˭7nie݌6eC"m{"I> <ɣ*B("ɉF|@R] QSli9kj-~iT+x[4_,ui7}ikzGG׌A̪:H`ԟuP.њ0?Fѕҡf"L)AvEĩua]ϔI& ;X|qm|eXH`شwxdՌVE->0! frS fQݱfc6"Wi­ZEkavTs UVH8+n"o&*_Zv^I)[lӞ;TvG2c}Ͼ@;dx=' GUӼi=7$3O)e@Qr_а_7&#^G Rx.{ݜq{V"GC'HuTYdS5jϻfAZldr~E+aH0^P| ]:O]ѻgkj֏&Ԫ^}#F+u 1nKCpBlm l߯~H-#p񚻠UJL&sr Pp7\'c!x v2vZ\;tl/ek=<{9` pbGefΑmxIfG;)K{p=؈.ܢ.A?-vZJ];[lƅ R-%aMǗ$ cr-եE(쏼vTk0tj!oي w=/']@l]ZO|#aofj~(XX-3ifh )(#F S :U[Ξ8GX鹅fq c_( ģ3e0r_+kw}l=e]Rk5]hm9޳̢^l_|MyKk=J(b`fET^;i%n"%Hi{"hu~Xt* Lv)H%]RSԾ"e´G)!v~7Iԓ{-Dr-}ȀYk咚va?!t|c4_[: aŌF4ʓ&2K)0*7DU1|12)h9˚;TLjճ&B"+'̹KdJF"_'i Z[w=$Vm[3y?X$xo[kd3YyGZAGVզ×?ӈͤ &3BGuUpz\؃釷w:w&wW2nfq̊0^8_~2$胆։_J{#x 90hj+Ň+s8PkPqx*ː*Ӈ=y[F%05G9.\ v:*{6弁A^yoL?{w=vҢ}'=JNme+ajm\n?_ /UqϪMZ\2h%Y44o3 +Є7f_,sQe0v)F!7P})dӘRDLZ>Xڻ `릩&_>q3\ 1}K\TbA\e kGGÞ_}ߓR'l R q4njszz"C #7⺕e ^"EǰBN%O3 - 㹓 iu!Ή͕m|b!bzB'BL=ƭhf:6/ tw(\195}蟱aJ&a$&\?= ~pX 5xSZ(wzγ;);Ja}sT̻DX+UX5S5<:j/}LpjԓӄYaz~ј9< m|(-(4ۨXrA1Y IMWxB/*-1WևB`0@xO-TGRq- A_:-v Ց?Ή}6^S%M=7+/[7LTNԯƼʈOh|GztxWn c7'դO#"̻jbPF3f`ZjW+A!iup([[)Do @1LIiGh~ʺ]0a5a91/j@Eٓvo,7%SZ e+?2LzK  ^z"W{~FY׺7fW~{|mvƮ]*wSXdl´`CT[I*}E+ P,xL12!dž;<답 d\+B[:c8p”4eae"QN-#5}sespN%BzĬ} )@zRjKN~ ^gWw-l.=fl1"C{8]Z^EM0]!QcFһcx7$*c}$HhVPM/Ɔ仮ߠLӅtߦF 6- mux!i9/˒m#rpFG;2F=}d҇[uO ɶV܁ }[/ܣ~3xGT &@|օ9\Wf:i=B׎1zoB;Z!V^p{gt/q?2侊ۘ(! eV~jk5KøEy {YzӖY)N%:f]ʪf]<6a}MMLOZlaz@"HPxsΥe&FF4"| 'i~45:}V b&9g=T%M,W-i,; j# l=pY#D[1n4pW?Os-'?\Ea(*T$^I/OٺZ\.fGh!7rFUvGS;tx2u ֔nQ4b-Uw 􂊚>.?0.M!MGd2[>[Asj_ab}(Q7+v?¤s}x^$ kvBjw(O5&d :)+P96'0{EѮP[:B}/$~̴tK9Awt ȿb@6e&s{Ig1]+nE6M =3h6 e53|BO~$[h 8\7:Sm ڲTɖ4fG]?Ε;NC|C#b0[A(߷gi\k7̅gQm9.u=Su!egetmY4ʮܣD3<GŸ.h&/=-?UGIcgt| a)ߍD ]y['V4|x9f\2hiqJRk,1?&V$L=$oXO%1|n=DD#8+ؕF-oN.8l*X 6$=1bo1ܿʈ.N 7*ǚꔝ P7UX`62ݽ u( ^Gv*erHb%tcnWe«Ddk? ! @ D]C^' Ƙ U%%Xr\Oa>æ(dI/PA+S/vt֍|BkC- #^_<@T% O6t%~ZF,ЍR%}r;s2([v/P=ؚ p hݻT*CYWORvu{BXc||ZS aG o]e5wshr#2FM,2д6Ynr&_ӢθQ!J*<8s;EhK3b@t + Ҵ nXqIZD -/ȩWή6dk0Iu:>Xa$!?:&ry!yh+m^8lP.N0党L+,iq;>祧g:gRSD⬇;w0\IC9 NP.>$,Z} ˟%yQ#tB]2 ` + d9p nFBQ$F+嚕/ D.2=zY*0TPZt\ޥAo~b %cSi ˠ2M&?u{qn::pl,YC߇ l7~%6PZG"ڗg@xr$aّ^ K= ա߂L~-I?&ػ(@HcLW]k{KO Eғt&xF:lg {;u!b͚#}yo'Si$38LQεOݶBt+$FQCw06V*QP>t@2gWz݌kdvS]yHG+!3$7n1= "-XL\鑘Y#&-~'XU 6pE4;^ӬѧOx]k롷󽥒sˢ3L]a;{,OD.9X"E.m{U,_ 8Aoz s7z؃&Ql4Pג,X)U19;),1*#vqKDfeQXVCv >Ծ鵄U+cdQ@xQ!P^Lfm(1rK[ X5PNDV$M˰Ywf^},\p]XZ;D[c瓲p` ]-2"bri'BZ!;9@?WԦ$!MKFB *߿̐^;gy9 pa5јy^󘞲_ >h{2mRqLWӕ ZhEwZ 778~|rd,~"=9ol(8l@kSoj~yQ;&Lp]A2dPŵr% \OH0cg<-uiZmLQOTK ԟf[BT4ƏX> λ׹ķl\fF\߱o>7-x2 _l99\vu)0L3&ܫhn7˱d sn[# $--r?ZEBLѭa=vX\Myᮾ|#jn6ڼ"Eoy6Р ;̓xmy1p|"&=$k,w& ƈT#:Fj\DG.HgOQ[<C E&*OI\T)l~Sv #jKV,[OaCt4.L7b>b>*v=cD,' _mq^un|HU}+X%/< 7c:At˼D` Dn^}ѝ,lkI C elTj{-,Og+29'sqFR-KGfR˿eەE}fSUmTL5&% Pz#>,3ӁhW@R{SFvۍ7"r>X)'ꝣܞ`D,LGrlk'y%tq_^X."^%DuDHmcvtY rN/uť0Os2sـ4TP9rSwW=?*kpEGuuFܔxfʽ'zi(֜wг4p:5Q誀..a /|*gS$)${QGOPG ZZ /~D#;(tM2MN^g?7* _SI>UI1(*]Q1yEҼ75!ܛp@_3 6ޤrL:iF:F ӆ¿Nz(^&nx T#g( &aH*:DikֹOP2ߠh1"|^nMH1(w9%FI>-ѣ4A(vh]ݳwy\-F;DGQ4/[CnHc'ވF(u-YrACCum*~3nX_ &-7'*'9i!}TogO1!K/5{n.KaqETrݪ-roUL? N>a%Z bPb G'Y Is`v +/vK_"`bR%+΄GC*@.@xlЧ_&Qvn4 RRVcu')v`<5pA3yi;7Uxͧ?"DK9G _+`0Ae (1\, 16?n"7D2-N$R `ɱrO!~6`Dc&Plz8j=mZ_l>2t>6f7~yu.AѾ /[Mp:!Pbvq~ET6UV5أ m1ɖ| ؅7u/gG2-I#dH;J>BRN2fcR %J&/Pa ͎/?goHWֲQ)^HhPv OOYKGB)!VnoʳAMN$U4(@-vߺ;&2JmN.O64[cҲ>>uR`=űAgwGa42Eu/L@eͮpOEQ^*7WY>ʚbs\]J",+3RI$Ʃ+"* B29*F !toqI}^4CBR[C'VD ЩZFd XH bsik1<'[C1İYf2P vIaZ2s??_U 5n cnja/)fc7|)k[D4‚GU T"ۤ],gB XrY G絯*נyHj )o/(Ռ!Lٕ¯+)F]کӑvs]KV!+͚In}ܨ\BWH|Ay4B: |)"6w5(e56Suw::;  PaRVW^aLtB| [w_w.!6*+ȟے^S}fn B@ѡ }i:@@k~EQtӄcm.;4bL2VhǞ1 d7 v1!Q[7Ywtv.)]z]ZTIGn҅`Ib:X1[!mk5|Yo%V"A,D~?+О`]y:Bz l [c6aϳž}WC2Z1Grs c`jiz@=W_faH|aR~3rRB$yS|@hh}l_ZQL)1bFQ h,V/y_EXŅf)~T ̔]u-K{Z82Z RX*h ׮- ֖p@r8k}3ş N?(3P /R ׃h|jnc1`*lkU#=>F=x=f*#䙫=*aV\VlHkK]D70$ u%Ɯ1!.ά aR}_lu-ݸmWE"I=LsݥrIkOR, 0wT(M`.%Gh-@Qv x?2tmlUu[ պRޥKa~䗃<#BO$̣_tw= Ѫ^@._?-'SiպՠH$~{|JAWAmx̍u0ڲH0 ^%w9踺՚.e]8 vGaTqS b@qyԏKVOX͸_CS\Xz'fr- [˗k7y) 0.qUpF uU MXiAid,i18BX*nbm]ԅc⧉y- RAt֌634g`gL(}wo)X1>i))OHo)Wrb(4[%X ة\,!]Y~:v]++9nIC&SɡVa_' @9ې֨z{.^8C$@ AqNql6`Gfp[=4is LЮzL?:W#NYC 7 ~h*]sND Qj6I9rp|~I[ J\0kiW<,Ex5B X~wvn̝ O5 e{pכh67wtGK̀Ydhޅ=ЈAAe$#Ǵ=U9p>o!-Z#WL׆ƊҭrU]Gb?ӖpgĄ8X?<]*ž@= I*&!b5E9 Nc)Bsښw_uwKEX+{OfJTȣIWk7^A2/k&٨ύzȷڢal[d; YZ