python3-salt-3006.0-150500.4.65.1<>,?i)Lp9|Ul 㡹;o<7JTjwޛ}\z[Jp]e|i؟S8>iq/ ;sBWHx[6LbsZoTw{H$nquJȒyPtݟ`sDA8%r9`xՆ[^rW=|S+L[)A,W8j+7ÒJU-'c'l"5J7=MnQtU ]Z&3S=’>L IH? I8d $ =`dpt XC `~ }  E U##^l^$_D$ax$(a8a9h:=r;>rC@rKFrSGrhH,IXY\] 1^ ;b ]Gc ]d ^oe ^tf ^wl ^yu ^v Pw Lx y  z G G HA HL HP H H H H H H H I4Cpython3-salt3006.0150500.4.65.1python3 library for salt Python3 specific files for salti)Lh03-ch2bSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Managementhttps://saltproject.io/linuxx86_64for SALT_SCRIPT in salt-call salt-support spm; do [ -h "/usr/bin/${SALT_SCRIPT}" ] || rm -f "/usr/bin/${SALT_SCRIPT}" if [ "$1" -gt 0 ] && [ -f /usr/sbin/update-alternatives ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/bin/${SALT_SCRIPT}-3.6" fi done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do [ -h "/usr/libexec/salt/${SALT_SCRIPT}" ] || rm -f "/usr/libexec/salt/${SALT_SCRIPT}" if [ "$1" -gt 0 ] && [ -f /usr/sbin/update-alternatives ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/libexec/salt/${SALT_SCRIPT}-3.6" fi doneif [ -f /usr/sbin/update-alternatives ]; then for SALT_SCRIPT in salt-call salt-support spm; do update-alternatives --quiet --install "/usr/bin/${SALT_SCRIPT}" "${SALT_SCRIPT}" \ "/usr/bin/${SALT_SCRIPT}-3.6" 36 done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do update-alternatives --quiet --install "/usr/libexec/salt/${SALT_SCRIPT}" "${SALT_SCRIPT}" \ "/usr/libexec/salt/${SALT_SCRIPT}-3.6" 36 done fiif [ -f /usr/sbin/update-alternatives ]; then for SALT_SCRIPT in salt-call salt-support spm; do if [ ! -e "/usr/bin/${SALT_SCRIPT}-3.6" ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/bin/${SALT_SCRIPT}-3.6" fi done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do if [ ! -e "/usr/libexec/salt/${SALT_SCRIPT}-3.6" ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/libexec/salt/${SALT_SCRIPT}-3.6" fi done fi!P-^ yN&SZ(!6=6|_$%S:0+`T?TqZ/O l ^B!wY 3. 1I/ @t m R ?m $ A M . < H!  Ek!!p! v l. YS.5  ?>A ) c Y Q )//:-_{"m:C( LGC\UkIx6 8L*;bO4,%QHII92I:_#P`6B;V!A-$v B_1?0enw fC.%+5A6S t&N4m.kZ.E Gr{ 5A|c_>G_q?A, xZ=2NLJl&q1tD,`U(/C 5i P= I_drFS [ &8%hL)0 fw<  i  7(4Ud.X M{: )mi}.@!?"% 8#'-/B Mi/g< %y_E X6O+nk&E/b6>& c+Q-3.ayQ+-> GJ"DmV-Ymn>I4$1ƅ7&`/xOW(@W*I@Gq4/{.5D`d W! d )E &8d:R&,{}  B e  [ ,a#G}|\mn,ǽA,| 0= %)3+BP7]!o  4Qbp ;E^c1J~SC"co#+H|K<;) bZ2a3R RwAoA0nGb8 w#TO>P| ?)C`O $80$"+hc,S?/H1 p $Wn7;Skc}eXf7Bw- @+y%Nr/}t D3 #Y6u&#`8 |":lL@g#m8RwqUpYqcWY'g5)zX + 6p,:! Q#()qSP@3.#0#(G"9<F=/vjAI&| d%AWP8 |@98@BK/M8 Q2$f2 GW38+3  LbF  9VosagKEVI'm0+d:.! #ZA)!Ci g j*|1BA(54/ w="6 lPI*. U"58*0Uj 0In 7Q((WZ `"*eeo!/qTJfGLY<9@ -f r";%$wZR4$~  %h{ @ B pe i#~ڎFH2 U]# OU,*]<Ւ#sE/Q '$I\b%uan+ / >+x zD/'Q ?@ =i>^ 'i<6\=IR9,* ;P,q/ cDR 6EE*TYU@[A% &>6. tRv/( i*Y,d zD D %y3@ A66SA)ZX ;HE P:'C-|I -;t .M1KLUGk@N)Dc'z2 `-cCm4A''ko 4F5$5,I1VwY[vM-38 LJF`+Sl[ [0=5*yI2}`HN(1 ]@=‚X?c*"?71S5?6Kp,soGoZ԰H3m29+%:;=82^?g+!.~hN~E,501dRk+u&)ا7 Q?D .\;*W%)@C33~-pX(S@,!DcxB/8$Hs"{H. y>P+# O# *"<,~#TD'42"(G*gW$! MN2h\yWA/| T F(d[ ) ?n*1:o%~<\&A $77Rn'YDP- -(?V 70,v]q?1'd#8 !AF5Cn<57m+Z $@`K?`=i)p, ;&' Au% PY^a-o < #)b K0>Z !z&G+V( A CL%Es)T+C4"6, Y @ % + 2 Cq >t J f+o _0 j2*,:B3 '"OE 46X70"o$ .EaT" G- U! '2k,F/2#V-!c&NF? jEjHhe 3 c#aFV.'/$[ 8 FXk$H . 8C  sO (  ` f t R Q A }+  S WL2kz`4~b]a& a&OwR'gUl1!U*#r Z%64J5%Z#bUHAi& #]'L77(<Ivu e0 *t(F9!YB*4c A1;  @R5G)8(t Ki=H@9}h<d<& 'u0,J1=+DJo@$4A r  z1q8N> G cB  n t : AzIJS|A1+ Q# Y <>R@hP  5  8:Tgt  -8 q!_uvmM3E 28G X  #q )s)-u _zR)3jm.K - f va U"  t v  ,,C U0`#%g&4S` \ y (2/  ) e!m!Q(m g z u50qwbE  %Ac !B!)/ rVJ : R1-Tc_B"#lT  X&*E X/h8dpRU)2KP.41O6IuCC1j0l{eUB0r,.hM%Kb{#! )\ Fb9L 9!]'2WaUA!i*Q ? YEPo,' \Rn[jm U00oE:F<>I'a&)M"$H{ g NlG\]d2!&n_ qG# lx ; n WO "Xc O#a p5RXX*Xr8` y ^J d  } #1!4E&$2 -N@f_,M,z)} qDDYQ !-a O" `q`|% `- !1 EA,4;!K|~;c$k8>():(7!A Go n%gmCFb&& r $A$.35 g /E< gT7 00 ^ k<puR&8 A X&*r ='4 % N h 2D u 0;4i: ^0"o|ko w~U|z3*6| '= ,< uS_0 V$m#G#h u WW nC  uJ` ; yT)lZ# E.W` Z> 0 df-,`w3& y)DB"# {i2 q < d0%+.G < %+ $, 9.B] %B &6C49 IKY}l9gE +"m<0$) +a,>4jHϺ.y 5c8+IOQ-M!n -d +H8*" 6sZ~  A-M/H eb%/M#x oXV (  o] t & >+ 8 v;js6QE\'34l!sbU > ,'@ h 0}!GnY4 Kn6 M  ]{*K #9  $N, ;!cC`4;# 0` ]_VjMD ?YD}~62!GvB> N7d{3*"9p2<7] v6l* kL2 : 7` $66vɁ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큤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큤AAA큤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큤AAi)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?i)Ld?i)Li)Li)Li)Li)Li%@i%@d?i%@i)Li)Ld?i)Li)Li)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i%@i%@d?d?d?i)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i%@d?d?i%@d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?i)Ld?i)Li)Li)Li)Li%@i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?i%@i%@i%@d?d?i%@d?d?i%@d?i%@i)Li%@i)Li)Li)Li)Li)Li)Li%@i%@i%@i%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li%@i)Li)Li)Li)Li%@d?i)Li%@i)Li)Li)Li)Li)Li)Li%@i%@i%@d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i%@d?i)Ld?i)Li)Li)Li)Li)Ld?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Li%@i)Li)Li)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?i%@i)Ld?i)Li)Li)Li%@i)Ld?i)Li)Li)Li)Ld?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Ld?i)Ld?i)Li)Li)Ld?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?i%@i%@d?d?i%@d?d?i%@d?d?d?d?d?i%@d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?d?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?i%@i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?i%@d?d?i)Ld?i)Li)Li)Li)Ld?d?d?d?d?i%@i)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?i%@d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?i%@d?d?i%@d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Li%@i)Li)Li)Li)Ld?i%@i)Li%@i)Li)Li)Li)Li)Li%@i)Li)Li%@i%@i)Ld?i)Li)Li)Li)Li)Li)Ld?d?d?d?i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li%@i%@i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i%@d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@i%@d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?i%@i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?i%@i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?i%@d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?i%@i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?i%@d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?i%@d?d?i%@i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?i%@d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?i%@i)Li%@i)Li)Li)Li)Ld?i)Li)Li)Li)Li)Ld?d?i)Ld?i)Li)Li)Ld?d?i)Li%@i)Li)Li)Li)Li)Ld?i%@i%@d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?i)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Ld?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Ld?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?i%@d?d?i%@d?d?d?d?d?d?d?i%@d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Li%@i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i%@d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Ld?i)Li)Li)Ld?i)Ld?i)Li)Li)Ld?i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Ld?d?d?d?d?d?d?i)Ld?d?i)Ld?i)Ld?d?d?d?d?d?d?i)Ld?d?d?i)Ld?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Li)Ld?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li%@d?d?i%@d?d?i%@i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Ld?i%@i%@i%@d?d?i%@d?d?d?d?i%@d?i%@d?d?d?d?d?d?i%@d?d?d?i)Li%@i)Li)Li)Li)Li)Ld?d?d?d?d?d?d?d?i)Ld?i)Li)Li)Ld?i)Li)Li)Li)Li)Ld?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?i%@d?d?d?i%@d?d?d?d?d?d?i%@d?i%@d?d?d?d?i%@d?i%@d?d?d?d?d?d?i%@d?d?d?d?d?d?d?i%@d?d?d?i)Ld?i)Li)Li)Li)Li)Ld?d?i)Ld?i)Li)Li)Li)Ld?d?d?d?d?i%@d?d?i)Ld?i)Li)Li)Li)Li)Ld?i%@d?d?d?d?i%@d?d?d?d?i%@d?i)Ld?i)Li)Li)Ld?i)Ld?i)Li)Li)Li)Li)Ld?d?d?d?i%@d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?i%@d?d?d?i%@i%@i)Ld?i)Li)Li)Li)Li)Ld?d?d?d?d?i%@d?i%@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i%@d?d?d?d?d?d?d?d?d?d?d?i%@i)Ld?i)Li)Li)Li)Li)Li)Li)Li)Ld?d?d?d?d?d?i)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)Li)L4688f5cc4231357f591cbd3920987d24105d64b54794ad32d8c59d8bae9cf34dc303d7f09bacfde446f0886ed61cac4d9918d9eb795be9e425b65d383da5e20607cc9926e6259af0d9a5829c29feb6b8d60e06f5f7bbba411c3951203e4f5a5a1722cac18739997330b2fd69c46cda50c70f488a9990276f1f08f71f7ed25f1484f36f661337dfcfe23dd757644ee19b7e3d9745cb6565d4b8d74f3ca8ce647201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b4ef3f928644e7a75f67ca26e50d0a9b82ad0f94c53880a5d6f9071f7055b011601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b55da85015c8f40d662b6b6ad2d116deb042180b63452a637d2427748d48545bc06a4b397fc7045eac527c2aec3ff46cee5ce30016c760f238c26e79902fe67b60b66b5b800039b0874dfad77351731fda55c129c3e12dca54a44bfc59b512c13341dc163fdceecf741c5f7336c837fad79faaecdfe78ac4fb6696ebf0c6edfbf926446a3dc47e6035b902ab76eb9c2917cd1d57c0d27f4891507713071c0c04967cc0e5ada29acf627de2733556f33022f2a3ab13e16117c28d51b814f79002b581e1f8931fbcf30ce93a7c347a4111b22f34c351748c6027984ce48c288e654514aac52f0a4c1e2530ec8e79a907cba3be13c9576022884a4518168d5688b12c5306361bf54c173cef9115af642017592985f93fadc322a33b0611bb94ba30516685fceb563bf036c05d0e345577caa7b5b05e1d94da35a1f6d3b7ccbfb140b20bf5869cffb85417072de0068a04fe3d86900988681dec9dd28a81ff82e3c9f919061da7cdbe231ee2d36337dbc6aede13434df67ebe61ea35975c6a9c488a01585345fead3722a4fa1945edb141c75c41c26ddd253332f32b421d9fd28db5255532d9e9373cc708500d74cbb75098dea7fbeb27191eb16ab75cf3f67def96c4677bdbab91b33ea10b5762d4a64500587793dbd571c840e6479c2c75f5eba32b7388227a7dee7ac2763fc728c9d58cca3c29fc8368981ee4c9b89c2e6b62101e67f79b537d66581c3b1d6e83ca762045b043c3e7a64dd248086a638fb9588080741cf90b826c116e7682ecb12f8f8c31e631b731557b26bf93a77dc60fb0507f61fb1f0d6cb1bf0227c413334c03ed0e5e4dfd2456f65814f6f0b1df81096b4dc9ebc945a085299f1f1f0612c15e110c2453a0e22d8847b4a49f6c31e34b5b63b76cf772306c636e1717e16134f23587a3be739a6004c98c3cf94db17df167b683ed17d8c5ee490d1998b55d02d3db22d972a0cf3a12bf88ded4fd5d7d1161400f6574ed1aa464bfd9a582b57103e69b8343d59c7d68275af21a41aa586cf06b0019d7f54ffbe85718a9bbdf3e1914185ca552a426247334d80fdcb2775427fde7721440895a5f546f29d3bd9375e527caeded1aeadd8326be925419781df75ce0e22235af46add056fa5bf5b6569acde53986d63110efca3de85c395533649e4abe9b674c12083b9a9361ce70db12c930da566933b0d29a2ecc66925e4b27c5a776a5928e5721921c4c8361abbe4c86c43b747e1019602ac2a23d961ca4d4c3f448c71aa1eb3763dee1fc1b5f6a183f5120df13cdd1823b608c7f45c1773475b6ee78d0e58475f8455776d48f53a6ee8cde9b5cb16534d1aa6853bf22f3c201070f332ffa5d1e40e98e7e9ce04ca2bb2c09327931ab5cb7a23d8a91ca6d93357a8c662081007369dd32c5c8fd0e2d00d168776e60db19db120ddd9d6a8b88c2bf93b18a33e989face4b31a5d32c827e632eb7089464218fccd613e45e1de76066ffe4c0ac5f8211801ef53132f5c4dedb9836be812583433a72893232ce16cf1eb6301b6ba2ed3dbd84913f44bfdd19f1db3ac2ab63953ff753a7f6dc38f1375e7ef1a94d3a35444b58d841ba529155f115c08520468c6ac638e3bc02425a0c56b9177b21a74586fd13603d7a0291d12d02633986955b5313acdf53585d80c7b2f4bceffcf76b1ebc7990b841d3c3dcb07733b8df88773e894a32a4e308f951e30564773ffa595fd4abca437fd6ac0267611b70fdc06e8bd6d01693531bb134cc9c325ef15169551541594b82f5c59afecf6cd891e77a4f350b0b3d4a0ab74db1623a9bef2499b99858a033ad2e57b28cbd623a9e7fd009ad4cf9d74c9fb189f6b5773d29540e4d21454f6aeda77b0cc60443b4c83639efc6824521bc8795ffb607dad32a2bdde4ea6093d99c411ae1f09f015be5430242f3d9716c9d2433ec930b3cc7e711be1baf8d8355e4bbecdc10a9b0f46db5a2ec901b8899b5137dc3d21607322ca8f2d5c00866ea1d918b78e1b9db3f84b11e9d80902dad7db68eb0c03ece28afd81b178222a7983d794aacfca5067f0d8085ceb4f89205bb63cac3280801e035aa4337611bf9ba63f235f472a8e5960337289f038aa987f6cb5f7c419b1c3ca55b3ff13295587d7f6108db17209bb27fc5a8912d11e66c7e07e7eefe6172a518e8ed4a405accd88de848dbddcbbb2ba04c625cfbcebb341afabee7d67974816ed7c4d8b4e053c8a890f607445ed18eed32f01a64d62b5a9e783c66a4d84c9996ceca717e70c992735701a334352d16f8473a511117944999566a5f742f923193a66c9b5efc3264b9c99c2eed2f1abd2d69021492a5f46eee68c3f7ebcd4c55e518d74c983678eeffe09c5c8765e4d6581dfb99ae771b1ffd07113419bc98d51b3ebc0b5272215c4bd67ea8c4a530bb81d3473cf51ebf61f67c5d10179c59faec4dd9463663dd2ca7bd60129af75e7fedc27e3c66e9c9e2ae072fc1779c87d3e330fe765600eb67a7e7820f854dde564e9a1a6d64e44319cfbc128d676d6ced6a5e99bbee9c6e6cef18b07f3a66ce68c5bf2004dc4526cea7987ce20fc0717821d06fe5a5079140c66204e94dd4544533d368aff363912fb1f039a9d9a83fd0371cfff7588f127ed7845d05a5d1838fda0c4f1b7ef2ac1e708775e9b0424c587563e2fc5a0998dfb79d92ae8031ed52f0198134291f12df44312cc84f717bd970bad2f6e07da390dfab1aeab24a119336604ddf471f887c5c0b62e8880bf11ac82400909c45b481549fac314d41f81007991d6caa047689059afc6bbc410b1907776c8e9739fa72c89d14437dde68ebccd044c90a3f898f0efd9f10ee7b1ffdfc9587669757a30f588053ae89c770811ed1dc1c5626c3b9e5c42d5b83792f5a7119608ad5b7036704fec345bbe3b8e3d914e16d246f4de8491e22b1d4db18e02af3f8787e361301838809511bc4525451b656b0acbec87fc9c33eb9bc0f9d7f46667308c3728635c28e86040b0d8fc63e81b7aaeeb32fd3abce0a0055c8094f5b154bab9c4b311630fb95c5ed7a275aab17ec7f53a6e161e893a589dfa06bd3b4bd78e5bed69ee936aedd511337587b6a5af966a27c415a239f4645610bc2f3b966b3fc5ee434a97775242b90d9d79bb76fdbe52a1901bbe335b7b52ba1aac3fccaa0f9584d30b72943084787ebe088af643e113c17e98f3de758d8e4a00dd69c831417ae90e4eb5448bf67313f872686038dc3d751629b6722069d558ecc66e71b11b94d87083f9fcaf05452bf842fd04e5cffbc2d894558efa9bb079ee73efc49f9d0ee74b504a0d16c817dd71b42682adb6f795a0f0d1efe140c6509c01b915fece14efc3942ecfdaf0d1a25cf77f2ee23c436032ed0ac82784078bd9f8f98f378dac25cb71a35163f5dbbb69af421c5cac41c0021b3021ad50acf5a7d3b4cb4ebbd10c179300523e434e7af32458a68b7d47b70093ba49ff5971021e77c2c6a174ff150008753e60c3f9bc68925b803c3ea21f7de10aede545d3a52dcf5649eefbc1b221ba3b50c54d4308f5ebc4fb244f62418425b1e9bea198021e3e995cdeb4ca52f2577af52fba626ed4731e1da713fb4dc1bce7772b7445180613e87363b567f839d1fc0ed5a548bc032d0e7d25567017ce4c6750dc507fb736a5f91812c1e86eae62f19498cefacb5ed5a13573f729d19f6fef725b6920a5be1978b06ad286a5042e7d2faaffa9cb89c61ac276b5a1c0c9a62ffefd4a9e4b3f81f4da11e9e601e36b52c6a0584a930eb83c66f7388aed11412fdbf890e51858a7ccac13c6d651e0af56ffc237f232c0c5105101fa540798fa71b34aa17a8af7d50d968cbac7b01bb0dad87e7f69af009fd33dc81f28a4cd2671c0a28f8a348c25cb960ed8dc7f0bba26b6f56d1328fe72e2a0737b2ed515f0872f04f84827814882349626ec7852d7542045abff35031d6995f6830e445f3190998da8bb1cacaa28a625ff6b16bf4986a8a06f88dbf881352f390ac6d6a008b135c01d4734824ced75a0c895b4324102f2c85d7d56a7325930dbf629f9fbc751d72f0d0d98784ac6cf183a247a79d2c58f8ed3935014402798219d015fea5fde279630efed16db014dda6506d07a4a6f40bacd0ae2b4690d1ddf6532dda8edc5e8a5a695f2a751e10103e6883aa81d5bd4e0dcaaf7732b999293e18125c38d8bb4b589c45e8eca659a3544cc9798f0838e369f857ea087531ee7e0c374a5f14d5bb63883aeb81263f5aed2318230d0a567e4c4754f2bba525dd89fa3b0278024ac7b2bbea4a1ac2b8fb1fed0dad4d9048f25dd5906789b0ae8984e4114f7572483260d164b8a0ddf06e6e5851244d1ce85a5a3680bb1ea271fdf9d8e3e182380abdc71457074e5bf8ab287e29679384bf4661aa3e28ddf2172fc250bc95455ceb1aa96016eb55aebdf77e793f4fee2f4b8b536de13ea21c30387baf9e2191398745134461533594aca2a9305c2eb0de21261d50ec5691007ac8a9fae90d21cf8afeff5298020933c91cbf63b8247890181774881fb3f8846e14d85e65fdace5e1c9fc2e6c8951a5a5903e08bf984a689e270bdbdc7500d2601f33c68de2850b750c9a9a931eddae1c09c698c2b36ab4b4c149de94c22cd4eb6cfdc57944ff08df44aa6a53a875cf2cc506a7005198cda5529cc9b5b20bfd1f59d4911549048607720222b12d79acd4381f2564982a384ba6632f18a6dcb5f28d9ace93d8a8d4b5d90be5c6278389c792ae1fe3f114ea3810a16f95b0617d532780863babb61090b4cd65d95a24106886a9acf232e81f8e2ccec72dfde66ed03d2a9852dd207664e5ed9c6badbbb6fba5ebb38e7a8eb2ce3ba76cc271f3605e036622a17405b6633733574e0d37b962e76b37bd40de1c1b4424d89372df0c12b80432156c41570f0a401e07b954bd1fe1dc44900c06381839bd06238b38f579040f9307d0c11e85bb6e3f9a4470cba8c5aefda65291d48e8a44a658fb10145975ae1516e59590e40914b124f0e0cc436a6fc5c58412be1ef9ed0d88efa7bf0bf7700152980532ab079f4fed93b5e421fb9935d2930649b37ea6a5784db12aa1b2f31fc745b82ac99accc8aa9645df6a393dbea2bbd1617f78793bb821f895d4bb680083220e43e14f3970ec7a0dedaa88240ac6800a70aa805fa52ff5e73ac7635b943b7288b24a6543fc726ef059580b1e46d1530a26ec99a2583ff62099b4cb6da2847b19e866f6c795a9b7f2832f49e5c31901fa72cf23fbd5e6f89872e5715e78c24f93c33e25e1734a0c9302eb5522c0e6e19989a95e9c8c8eda6d0a3df6748db306c2eca72084150be702e52628e3b55806c2f6c31a07060d4d4d0e8f02eec82e9bedeff60da0960cbd671c0914b84adfffcffe33cb04c48f859659f6316cac659415865f768495f5d33185e135bb2e9e3b5eabe23940f60871f9cc67025682eedc1d472679f64dbffbc10d09cd363f4afaf46d9799fc98f73b679a71cb838941474fa7e245a893a56c0d4e6b4acfd877da4ed1e322d0f44ecf4cff9e92d0df01998fa2cc8646f4bb23834477f35f2cc269bc9952f6e8c11375794e4526b4281ee6d8a5cdc1c3f218958f2db1435b299aaf663ff40b72a1cbe95ae1261930a5cbbff8225366ef897933cfbba423c81f281e0f601a77dce8ef8c38f25889cde5b981c0115a0625da230dbf741a3e28ca85a1ccf03a5f5bfe4faed228a85ef13907b0fce35c7ec227947ac98dc713070922000e381751b7a0bacd9edf3425928452714435fc9a68e04571964cf9799cbc827aa6f411fd55a9305e4c2ec83914d420b447d4503eefce962c5679f2997d8bfce7100b5307b3fae1b8a5e0a8e9957ab14b73e20d18e12aed28c50af61dde13cc3c221328e3f8ff8a10a4d607e712f959487f2f5022ca752608e6239ed9289ac39664ed30cd0eae93b575fbd05f49de31c8ad5333511a36c1792919eab56ead110f06537db944af55fac866be322e1804245f89e1eacdc072315dd0102af85f06d8e5852e65244cca5a242cb46e2862548d4d3d9d3881fa114853996bf58e5530887967812bd57b8e6cd8d85c5d3c70281da1d6b047cef148e1adc7b110ec76b5f56490a43f142c31a5721ce026bc925c73610472c535545fdc85845bfd165363ff7a9a987dacd26f6b699e47683b7823b60d02b3bae8a60ce3f60df1306bfafbb91fcab9cf26756159df9b718fb848cfb54dc058be5b35d02256436c09f8db2976869363f03298819d009bd9171af30171dab8806cf43e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558651003d74591fdf79ffecdda81b37a991966d3f6cf71be57e932fedb5ae4c853b93ddb5e6db9b1a899ef2d977eba7a917577fdcec8fcc8a60a176fd9187ec4cce149468e18407351be340685c2fd20aa24e61a656c0ef0c0b2d593a5f2c8725a402be274aff1ac96187049ecbdee2e23f4e2689b3f027dd111eef36331b513bf8ece4939277e0478d7640bdc0eefd71cd6053df387311be05ecedde3d2ee7e54aae8779a1be0d1c25879e109afa0a555bf9dd55706cc3ab70e835b8e419176235a5831a16eda283422de5ba5de85ab7c9dea6ac3b711bc5bc59f2af7c9c2126484b1c6a579029f918e9abda1f9e9cdf1ee35d428df1d9739549918edc96623f8503c4c5561734e01ea158ef40dbb66a882dd7db827ecf54de3358c9139aa75f7d96a2493a8c2e3245f07ce8f014ece411f16e628cea034c9ef4a56d9e907c0ac7326a4d303a394334deffc67d9dca020fdb01b73bcc869e2549158799e283e410887e8dde29510f64b9d0bef0eca1a1f3b584ad1434d6a734d07ec78380a9e36d6b62d2cf8f1a55da16c1c2508df735e6d905ba9b5074a24d7473818c66f7950cfc7c68b631db7fbefe1f9aada9e4151931549d1e6363f911adc0a30eda17ff167b3a91b64d756187e275ac8eb422e80967e3e9e6e027ef8736cbe3963ea1302ef6b679de92b963052e1ccd1125b07130ad8205ad0812640f16efd3ccd1d28a579f0b89e57d6d0bd42a41f5009477ef29a5b72cce1661e39cc8d76144ea7ed4576ba9dde90a6d072bd569e1a4d001901f4eb21d3c4a2dd4bcbce6f660217e3285abe0326790d40c4a8e5b2e36602a229a07c9870ebb5f8d6aa6f677b6f3df92de2a0a0c0827a60c450736157ba180116312619854c890bd1a236da668f8f141270424c876cc344f20339ca7bd61818b5c3604bc4a2886763f7de8d257c7013e0d7522e85de9e4d2639694742355654ed2dbe35e12c1a2d56b1a89d1f98fbc10f26f85b818364e06b29e334449d230ab2e7ef5374b6943b0bbea8d798ef05f3bfc0a0fdb76dfd6f2b06726b87a1eee980cb1e613960776ff6c7d2805352ac3a8187d1229591034ce0e5ff4737e2d5f0536851cd5103b7ad1dba2c7fcaeecd8c1c0bc7672017c3bbcda35e07abda0b6168e883ac2145443f0539da4094579b7711e8931c0359a5b42ff7f6e79ff29a7b897c01cc1f2559f2857c2d291e868c609474b03aa749248fab7a75248ab4f06384251a13f482a6dcfba2edecdfececa85fcc3c8b9877418fd04d405f0e3a8213d7e5ed4ebe8d76a7913a4fcccedb569e29cae3bd881993bbb8493745d4307bf7d157154d97d9df3edb6e2937db0574d96f097e81e9b35c224b73e0f91090da5be66948f18383128b1134ec718a80386addc233f43b5b59c8c0004b7610378074d01247011904812c8b5fdf4ba67dc2a02529300f0fec962160840d50675589d8de3d1d37b6a6639adde882a840868e716f51fc22078819b8bb9d8ec3010bcb87542502f314d87eb5b844483e26baef1db1f39a48f16ecbbc70f2b526d62831e302d63817bbd12e060f8b68d29b927153d83cdca1fb98b517e88c4845ef9b1edd7a56df115cfc92ec4a8698f6742fb0674764f6624909e12ce9edfc2c9a83adcda3ef3247191e898ecfff9f6c5e493900d28f9889c1ed15ffa6cbe75e30fa9001a6c3cfcd9b21f137ec014d13d17941eafb5ebd20a80b335bd11f979c969eae15f6b5a8981e99b34de2c58a693119a75a6ac0ed03fe0014cb218c0b15d79e312dccce6e6c263b3c51dfc091cf59ce7d9d3268389565792526c0267640f8de9bfeff848d3d4582406ea4e50ada09861caf5e12799c805b91f7c9ff807952c501ef4d570f1bf43557c9cbcb21762225e00efa86e0218d84faeeb14365516a35cea78a0181f3fd69b8a5a20665bc75ac704325a58639fc1514836907d0ec492bfa699696f581121e4ee31cef94207cd85688dec4be41b5a3e18ea446bdef3dfebdf949a5435837d6924f0d7f0a657b794b52a98a63fd908ee8dacef7baf87ca4e113013894d24683054e19120e1735fe1a18d56598eaa811aeb9113e903cf3fd4e541920f270ef8787a45b73aa9c38a67ffa297b79ac74daf451d6f4798ebca68518435eeb3d9d45ad0566c721c3f435efcded05ae40a850fcfa81bfa152547ada0e7bb54fed9484d7bb012802ea186c6bda3764757f4aeaf87c848d5e90e29468e7c4a6f9f4e5d5dc06c1444faede5a2bb8149d49d78dc7213571d0a55b5e6ec573c57f92e5a638aaca59f3c91815216c2182c184889f97dce7972a0f9db3ec5f3a5d02c136c41b56cf89799802335076e93f6a9232a91a4adf3d8e14f2fedbb64a8cac2d2c2fb2a48efe951d17c228cf40718c0f244d88a99de712afa83d12e908653c0fa5e4d16b7a112cf63abbd98764ad3af5e91ecdde1c04b00e9a991dcb855a9911a90b446ff62f3b92c683d91990ff76e596f708ce9549b9b14269466c4543e2ccf8bcc0215399c239d563855050023ab3009fe0e0c1a4c31f4536fd34c6df88e53020ee7d79f623885412d6b0b151945e34bead981681106cc27d98d8f66e8f744b505958a14748af6367518f10d0bd364d9bec79b596cb384c0a04b899101f48088a5fa409255ff8e114ba3555b4ebc7303c4ad7eb78c17d3a8104cf328ca8b0315db0b9d925099a6243db0da0c8b704c6b88b6810df163cae019967888efa485891c0a81869db6f560c3b9b441f274bc9a76382eca30266ef4d2a22fcb8b87f0190543cc99b3c79630e0f4c412efbedcdf1e4db8bfd0e302703f689c2cb842f1a08afa5d3b1b426d6be7e691f8c14a1862d3a7ccadb0ecd697f3f59c661cb945d5df437e9c2e5e24dca6abc8b75a5aa34e0a450e65f8445bda111b93117b91914d7c07f59d27b505847bdd4e0af08384e73f802e8d3896a460109d1c9c9eb9ce41a133ef72810562b2c62fe2435e7c9b85672ac40c859844ce60b2cab7c4e7ae80129cbf079b9c97c8d50c0b1f63cd95644a432227b6e1057d8ced65a402149dc1f67a244c728201162719632148866f44acb718d85c7c6b28c058bb98545fec4875664b2891022f18c79b90746de3043354c040b6cb73e94ab1a28a9f2ecf0aa5ccc8721cff0622101e8c82f6fde3825113136dc394550da5cacbf98aa639e2b24dc588fab1a4bb710d6fc6f3f2179bbc24930a2455767a6114264419eb1bba25a54a80df29975f72626d9262f8ee9cd81b42bfe8e28b99fdd8c6ded4cd83a97c5906394ab6ad35fbdf940de2d9f39a2545db80f9926bd53899e9aac4b9ad55502bbe14d5f17433c928fbdeefed239a973405b1e21333c1bd104c71ade06ae9b3b5e689cd6ed5d938ac1d346e85592a997cb3ac2a6e9bc30ab289ce31b207f0334feba454ac6c3b41eb9bf699708bdb10f89752b2eb45e74399b37c69ab7166d3f769e078e9dd3d816cff1da997839ab5cd4e2b6d2964f0d70aa923d699e347d78bcb7ad94edf73d1820dad728a2a6c873e809320052486db7d1ab039f1e747f6e24670399d55a2c3422094e57d5eb4943158f73b959b4c9e3cd85dbafc369c492b6920e9d4adfe36ac6ba6a8e616870b5cb3d323739c87ec66d8af5070bbb54d5ee555f89cefb46f3825bdf17383266549b25bdfb3bce4e7e85492b665cb79858f8eba27a96c746daef0e68d92fe6cadbac027f865b299853554261eacb2e8ce6f978ffe876baf08771227689f2ecbf9e66b939b39855f28b1670349bf9cecce65f937601d4fb60d03aea4e405382681a33c54057b99d63ca69389a4eeae611478eb617fd54821169067550f0cee2bee23acd716848b8898f57f03f68ebb9039ed74dc44f2b923585061ad1681affbfafc8cce009f05c868289969eca26db6146660dede7a184363e9f806ec58baa220f2b93f0e70656e71db56a9e016c301ff5961a56c5dd3ad88237374da196500784b47ebfb2d16a9a110a33596612404f853dd3633e9d07d8896a6b6983fd2510873e68b853abad4b441d179d7571dc358e39533c902e3164dd8dd693341c20c883822597825283f0020c813f7481abc5fb441ba417b71c6caa9cd2b68e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855781f2f209089b53228077d1f3d50557e5fc67a7f1d5f45153b8ef5b1be71bd808611f4c6d7c6f07c08dc6b463a510c7640f065105959ca0518dbaf2dba0c5f64e6ceb61c685d497c46f0d2b249584f8c8b7bc33b4a3f62879337b9951799e0a34a250f88db65cc5180bd4e0a293b38fa6d964ba1e05d0f5d9fa6cb79abe254575c6890c046d82748c7880ea541de6970c294f5816848932e3cef1a1e8c36d8c7a13cf8ca331c190b9b278488a046a93c5c58a6860698bf3bd89fe4c780bc3593ee5e2b80e7cfd71cddb87ab978ff9daf7b741a23fce78c20a9523d30b8d4326a79686db6fb6d9b541a79d36f34978e5c927a4b7f9a9b300a5897ce1ef5e318d55fb7fffc86c41540b65ffa8c60fba661e4b12d3a2f69e6343bb51c8af22f26caf4d55a0c3b0b0871f3297752f2ad8649caad7d5a65235cdb4a9fbd3f73f562292c2ae40c37797eef76e9d6a835ee6b6146a045ccdae70e00bd44d3535227b28cb2be81635503e1c91e46f06210e733805fbf2061b0e01c3c85067d350126ae416027f8602b9be1f86d32da391634b6cfb1b9021d4bc7b6412f9a8005d20c09c1970b327c4ba74f02176f06e876a04d8c955a45dd3e0e024247cad68247423cf18dd7c11477f0f69fe000db13957071878bb3c0be52ac84bd9661244d53572614683d8d97f2779815b2de07572b49adfc639647372e2ec37a1c1b99f0edd88d960040ce47cecb3f3bc7a543a5cf5fb30ad2ed16ba9abdc8c5733ad446b22132c868d587c22a7f06a1efa435eb45f7de18f8d54f917aaf83069aba9486d202f872eaa7d3ed08a72ef5d7206e317e77091357d83dda5a823d7b88f680c37b8470aec146f0fe192418e005f45edc458e9accb36ac5b78f796b43a4047296e59d4de34d10a1a4be3ba495cecfa451cfb1715705c07fce6c05abc691f4e60b70d1a8c88d99d826187c44be1a99402c0621517e8d1fafc7a9050acb88314510799448343ddf280a698fc074179db1478da06ac270e2256d180b693d01737ebde38dec0dd4cfd0378698adb49ef3ed2ef8dda61994d2d9494bdcf7de64d4ebfde1e32d8815f72a23ad0683461073af43dec7f63b4ffb1e6f78e1a2fa1e17c922f596443a50caaa70f2ef4a91b672006d055094a6a438578002df4faf72ad9200c4a5cb8f1234ff4fea06525d8bf51d19f06e4bbce6037575fd12aa3a6a14a2e796825a28872e527434793e67478157a3267a07f79a7fedf85b97ff844a28c4e9d484ab17a5ab230ee5b2cd45bd8038fdebe1e33a633a3275aab4a1a1f24075495d664bf1364723a5293d901357165b3b6ae44cb4e1e3085787b575dba7e106e75ee3d3b429dd2169dc494589be98aa577eebb99d38551c390237ec83a0bb0547fbbe48550fc03addd5010af30a279832124e035ccc4de614cfb7d2a6b601e2ad31e37af1af6e8c398040db1d26e3903b18bbc0b59a78442b6b7b1675115a80ce54c5ec3cd2b6a652d394f204f0d5b6cb5d1a06b8e9abcbad30e65c3e3d188efcc91f4bf757530bc3964d6fabd3c62cc89ca0ce0c3a0724eaf58fa725d84a2c42393e9a68d54833efda95a9ced2a96cbbef5a34954563587fdfe63162fb0f896e33653129991af27980eac7f5421583a6a1bfea44b9318b4b745e212ebbf6687cb6fe2995447921f43f9632ed8c38fc6fc2cff796b5e93820e0bf6b1c82d1665a51d88bc16614c95f750d396c00227aa1a730ced409275e4a6aa79df31c96e4c53ac99b42ab571cd0194fea5614247dac3b1c40485c7278c3fb772bf6ed3346c772a428d20013a6028ec7ec3a7b6ad37ad83efdaf65d50731ffd633c87d0d6e9b567bd9dae5640956b5106b7e043fede43d3a16f2ad7367af681383ab9d4c89d091e663abfb8abd7a2d8d9b3bfb77d59d5f2f4866748ce85ba275a526da7982b7781f02d103ba99126d6445fbdcf7bef420f7451205b963811ac4f12b6668618b6a2d3e8532efbd99a930374a6ea427fb368381b590564f80ea1d4ded5670930f80e9761e2acc1c150dfd54ddf5774d1a8bd1af522677c68a64507e589f6d2d8b7ac0a2361ed850843734387ce9102437bc70c1e5fb682e90e5387b505c6162a11b4a42f2561cb668ea9a89742cc9acbf38218e37173df601be2af7a58e39d74658b3a28d7f42dee9d41e4a1e50b370ae7a18de070bc2249e9370ccc6e030b3d9bb31708c164fd152b40ae1fd221aac6db260e7df61eb9014053cb0234527beb8faeb7c79d523ccf9ae49d348bd4bca643d88bb2817685a879cbafaa5dceb2c2cc9dd382599dea9081411e7e5ced0a5c68af4176565ddb513aee8897e8b58a99a068216fcbbf818f0fff72ac0bb0e334e9cf671ae0c08898b837374792992cab49940c8852ee1e65d0cb37f78cff67ec65fbc001a8cc194deb442e0103ba4c4da22befac0e39c5b36468a0b49b7bb86ac89dd970591a339af05baa57a90b98cf91ac90d2685891f21a21c73a53b6f3ceebba692e79bae90ef953aeaa77e7fa42941f893a05c244809007cc91bc4d0adb2b5fc80f5f08c8a80eb13167c237c0266b600411138113c1337526a22b180a5a7d16277bfbdeefd689ec746716140c3b5dd7abf0148c960685aeca5110737c3dd2e39310dda0ebe3f72b61d2f09377266656d58853ea4a905e101c365b786427fbc4ca24dcf57443bc211879ba30e722aec4d7f541e3165ceeb7ffc49bc6ec5b7001261cf4b70b00c8055cfb59046fe2c755ebecd28c4f2754f239d6b0cdf22db11c4485f91aa2a1f24b55185e8592c0a7162abeef15e7bb98abf6d362dd93dbbef7f052635f6a30ced52b1111a101c82f9deec08c6837ad8aeb3649630ab91302b54fa7ddcff0d0488e1987af6d2807e351522715f30984aaa20c9b332746a43dbab904f07221905cb15100842d332823b760692109032be7e300f90b9d75ee5d74d09b509be07114dab6b2aa414b862100687ec4f0f963432a1557465785f442a54caac7694c9fdec3e19e607303a794354a88af214fee60c94f6534e48d41c85c20a233bb2007242488d4025178883f435b753ffdf4ce68f01f4dc8c74d1c0d297256a8100905984069c11fbe9d6360ee2b280b458b42a6c41ce55033308f80990e05ceb0568e03470537b8f8bd933a8c77f96e90ac79e98f8c6456bc4026a9f6824b5a165c62a5e37a437fd1d0996c4bdc8473ef2a0470d2279232d5a3fcfeaa8fb74131846507ea3448a52c3f3643c1339ece12786467599c5910741ecdaf795c736c06061549cbcee7296a8ead347e95e48570e9565fd1f86274efd3032999c4c3338a1a18ee7d398a9ab127f5fe8ae391ca24106f7de1dd0a425cefd2d18548a7dce2a83477928f91b1faa3d142100a831b32b49ee4353e29f499330b3bc35dc83c2daa7d75b06190590cf466c21128c3704206fc840d6c0088639cc9e859c82f3dc193771498a0cdb2550bf8a97fcbbc9f28742b21958ed7db40663fbd5bf2fdf7e92e46484c7fbc6e995e6980d844c278d2cbed1fd8578a91275fcb047c74895ab837bd80246756f613430cbc793a47414ed3c17825384ff81966e5d688b1d17a3138d28860b8213cec61b904d60741e1421ca8688c75b4d9b7c1a3f826ea55f6024f6b1e33cffd2ee58c599fad4a492f381b16e43523f8adf714d17ae41703bd8cafb1575cb2e12297c5a383df2635c61b5c2fd4a7bc640a16a9f2d92a2be8299d13f9c50825c3f1aa3e6e131e82dee3703ec70f5eb4139da818f60624b8ea1f349821a6722534a00e1d362ef537ce283f202802d3317f0dbeb76347422e1fde7a999405113850e7e4f036b64dd23f6d0686c2daeed18bb726e58eef75a69afe9ee56a1a23b2c32cd4e87d6005638e2e40db12d6d49428e35d8c5675e4db56ad37f8072dfea3a1479011ce5181dd65b426bdf96dccec5e006fc10de0f830be53a2399227b1dfdd7955dd87dd755b469c67faf79b27432e6d50179292d4acde607a0e1a68d8b377a11b4bb6853b6236a9e06024cd2d2c878f1ecfae9986e20bffc0ab4c1bb747a93ccb9f7c41869a77c8a03ccbdc2766194440676d1f8c4d216316a6b4e30da07f9119a55c11de920959637948c9df67e56a89ee090ad0987eaf688dd196f1e545dbf10a56869ec0a466548d68241510da48acb719a46dfe5261757a9319e4d78862e577b7d268c084db25eca53332a0392bab173daa81270bf7d2777086aa87a91769908445e75516e0bf12ed6375f5de3385fb69990abd90a71ba192cc6f738a4957a57c380fb91d5ae0a6bd0fac62829be09a9ed00f3885514b73e7952e326d1198872d0484029da32bd5dda4f0ca9eb8714ded48fb4c5b912cc02becdd276e84eb922a4607acbd44c5396308d969698092d6b2b0d48073e85a1e41b6ae7f63345d0926e71b66766e103a17a9542be607646b26e026ac1dedc863caf0321b618b6b20dd912e444dbee53987ee8aab40d38eab211fc1e47558397d5ac65bcbac15188e313861eef598246be1c37d84fcc3002652b6e164b12a5a991e0bf77962d8a8f5ea33982aaa30f61d131f0f07f1b16f1cefbcae320d20529fd38aca9d4f69c9089e7197b0229e34ecfbefe8203f475fae6b43694347bf07b992238428110e557ef067df0f2553886d28acc23fe7ee2955615fafeeba6a89e1c67511de76dd4db96f06f0897ec694642c788441a3be9b3a19e45b2b1a23257c15894603842e0cd18665f15fe4c1cc6f6d74a9773e1286891f263898235e890864e4a83b1307fa390faaf6455a3ffd69d1a8a723784204c5ffcf77f5988e500544201ff5fb6b19e486d5be403995da880a0631f2d05abd5e0d5865c7cd25c195c3c379f1416d72e851be00c4b113b0147c3c91fff79f45cb090f797f5fffe8a2cc61c530a0b930e9ec46047237349cec2b284626186d63400dda0cb8acde9d2354f05956ff723c51e9b4393c9c2079994054e59add46e917fd33ea4646e285ce1dc4ad7ff2f54e0c4f992efce860aa4efa74f0c34f00e69901991a1f48592105357e0f8acd0c4178c6bcc31a901018651ba7c433ee9fd96c3088b042cf1c22d5c5a9310d80c5ea07684eec1a5b3ff7e62dfffcd404c94e032facecefba3c3df47ae064bde54b1846406a1b46f353791c4d4319892c3b342bd444a150ddfe4159db6afd7f6954382e5fadc5fc25116b38500e1b098c98a09875ba5449e2e021181d1dafa78f2d5b45fca534e06c947b4fe1ca39bd513aa20dcadd797c68061633ebaeffeea493773dda004817a07734e64e2326da62432dd90a722ef2c5efc6bca2b3f4a84d43c38b00339125c509a753f807f7e23687b97b3f8875d858461334596b2018a2d1fedb1a17423a73cacfe09f02fa0d1a46d661386d6855c206dc5df2dc558071886f5e063c85dd38026696ef151f52f9b0f0f93db2a65ae93f887629ba2678d9c01b9aa2d752071582cfcf5705733fd3e2d65c9653bb52b20b6f2954cee549899fd413929b3335e9216906f7bd4907bdb508cf44984b3cb32ffb52de11ea0ee8a73cb8e73321b3179a8805bbe8a7654bb08cb77de735548aaf35aa34cd7a8a8a6c750eb4980df277af60ffd34f2c6bc923c3d41fe8d8ee69eccaaa1cd1d376499694232e1afa194f0545126dfb1e86d742454a98fe4ac9566d70cba1fec172e57df7875ab0218482739a056c3b88ffd3403a9e68c851e0a2d2d5416f5805813bfd6208e60cf97c5d7b0237f12e7847f33e9f850c61d8d69ed3eaf1f6ee8dd3fede7e47b571fea8bde80134590a3b16cfc373dec19f5d0aaf4beb67f6a0778cd9b81d521cff5c9d905da1f67d10e9778522e6a9635f3cf74248f55354fe712cf03c9805366b5b3e275f5614057aca908d3adb120af960b90e676c39f9408d011cd3bef324a95f1fbea499624af756e3fe61d2f13dabb00c160ef78c481f59484bcfa500d34bf3ca34459d9c196959fe5247cb32c7b579d6e19862f9268bdb18e82c9c3da8ef8116e879936dc117c127d925cae8b6c2652a259f9f1dcb2d380177489f03e14304782318f37da21299dc421f616018aaf4d7ba7a0c85bcb6ac167596a7d0d6a99213ade3c26b1760551a4d6fa8469e85401865f17bf063e8c41af2c712165314404f19811a1458924ce142d26295d0a56a18bc4c789296a804cf3489c1c28e80af52f2144626d77c04474b3bbcfd59cfab041bbe3b654b0bcde8c2f0d20ec46e69fb1c15c099d2cbd2e426c75113c2e33a46fc3e4912b8478868e51dc0b8fbeb8afcdf89b9ab8172240c992ede58e56f408434ef4491988861752d431225c284a8fd6e81407fd5cfcabc66278a5c3df7737abc8b1a0b6b3bab1ef2f23fbf923c0e2357dd6e318c7d32da742dc487dd9be5949ebe9494ba2c88dba329a7d5cee45047367187c2eb7a0a86ccfa0297fc8c91a55bd6d6a0489eb5569f20539947446b61b910fcb767502bf35e012a6aadf65bc0eb703e1243d441d9b40d715efbd76efdde3352394864c3cae902bc29612badd91349c377799bbf9b6a62f69933f943be1db3e4f4a14542b2da6f0fb427a1f304454e2642eb576817a1d48dc83cc44729acb01eab0f1adb2d0c43c3fcdc79587c6a60620451bd71fd92feb7baaa61a21fdcabd03a34356b946cb219f201eccf97235b6f68012dd9d6f7bab41c74a82d6237e3f0ee316f0d29df337de28127837ab8471921a1ff2547db4b2266f7c7838ca9cd1c954ea95c0b094a530069b68aead66cee1fae32bdbb4b4739bd3a8698c8378b96dc6aa0433e4cbed0e39319e933a08037c6ee6a1aa1aa23493bfc13a0d5d937a0adf5f13b9b3786a98c77eb3c6884f2cff80a48f854125d3a9a26bbaa60cabf240fe8bd819461e3e4a036d078740932063a1f3850d715517c43e2a86d46f889c9efa940260459232cc4174f56e5406e8b96f5e94802a11fe7d4d325a7f6cb37714f3ed83d4a3ddbabb224318f1e66c834f264c392c0fac72f5063f65f2d1647ad68b3958a8ff23567e2c1a8af216ac8026822c23a4bd8d617a34369187fb3e211dedfa0d26771f250cd58e0940f86ac33f82e2af001263a72ef475dbb483fbf49ee875f8448bbeaf89792a59f0f5419bb8af9c611ed2fd56a626a61e48adb809e146f0e99b995790d0af7dcf8f960453124ab1ee1ce44b86f74cd7a2f74489937f5176381d2f3050b15dea8fc7a2b90ad432b59556908c883ca420f4e6875748294418c63372f8b955e2892ab116605e4d3db57f6f60765f3f2b3f90333fcb16df0f8ad5d02f823b91a5b14d59e19f957319f7fde0326b167d1732190696a30fead0ce2ebc2a275a158b0714bc6a9998b932999c4eb523129c01e06592868b01424a0c43454fbdb35f66d2312b1ef8c263cb28555236d6c1cb06db5a6fbd3b85bb1531aa1d1c64dfd02df0f0c903d06036c7e2d86412077121b2847b4faf7379333a9407f44865191a5695cb4cbd1c841f51deb4a6363480bec8a164ff6c06ac5a263576609fe930593e5c4f9f5d338ff04c191257a9b8736f73e820d5ee2eda9e4cc0ef2717007a550b00914eb76783db650cfebdf68c4b4f48b00ee5db72d0b5a747493dd0fbcde25d28e5d6b2135485db13fd911dd05119d8f99d2fad6db4f70e1bf433452b304f3ade4a2e062b79a65cba6c21a8f3ae6db75920b49c82016c51570de1d59f1c4e41c929eb354d5bb38b3049264fa03d4939960d9416c45b2468ade053742c3e5c38e555a047ad6836cb28bf5559e58594727cf97afb2a28a4b1e9a07fd2773a5f3f4cdea47eb4639d498d042d8e517349bc535e9e08eac7d2ecec130e10e349ead9b1a7794f72a2294dc0287c644ebc96284fe05652c1f6ff407d78df0c32e32c18c2a8f0c756717d372031f9c27e58f63e46a6488235c00d99522018cc6eecfdcd4a8ff1b2c11738b3d4a0b7d3e9d329e54519f1ced655f5d0757a6e38ede75efef9d2446d295fd63a701122ec0c73bdf4991c373648ace7c25304c7c6146fe9a850bc081f0d0efe35cc14f55d4c67de8601afa1abe0bbd20ef796d4422db4b34417ce4622798621643eaec49dbf2fb61fd7902e7ed0380bc10203fd83bc0f3094f1a596f5eda6845dcb6947c3bb9ff239e5c3f1822b95d3d6080245fd073d1ce428776a725a0eac5ddabc571548dbf04dcd0c5c984dceee3ac9a260912a9eceb2f40864a5872c8578058a2c0c78cffd9275582d4bfd01ed1a4d568debd034329ee47b5d655c5f8832330fd23f466ab715b7905f32d9408874964cd5b6e8b030595bd063def5e8fddeebf5f3993338ab2e9c5ef62f7b141002becede84284a684da844f4d4fae2b315c38340d7017da161642a34020fffa4406c294b8829f4935b191a9d8537acae2dca988412a7111867a4403a0d3967ba7d9d01c254c99ddd1586a76082399d05e1bfa5dbf65afea805a6ac6637b03c9ce60f387729af057e38e3569e336c1e8a2f259f84f86bb1d49e5a3a9be37cb72026f041ce0ef490a4a71e3e8fe8044ca388b7b82eceb726788e63f4e793fd06a6f4b9213d1046758843223ddaa40936bdb8e16999c4d5423e34b368d223c3370574ce67bbdba4237e473f99820dd308a28c80ebebfc1fafc002b028ba3265abba722768b91f3688f3750e5d3403c53ac6416113d9e243405493c9fb6760972a702cf33a4ffb236cac6699133ee3051f5c1126ed837f213ba16ea4b4e0bf71c22853628254bbb2e46e4c786ff320ce3db6a3d6a4752929888caee46f45f4f581a6444c19cbf9cd44fc40e204af8ed2c04f7256d7b382b8202eca32dcffa153a0709ceaad49012a3a8c5b1710fbfda30afa737a8ef17421776bb20868c6fb142ceea6b5352c6f4e86bc524bf44fa1fe3f8a771ad69238cf8b845fff3f95c48a021bd53e05704298af29c76ed5b19fe3bf6872452fc1e356f07c691d2e179da6d7c771272da4901faee4e3bceabd6428c5fb2240335604bbc38b307d7056ccbd60d96e513998335f0dc6b403ad1cc63fbd166d57578f61350c99e2346b8d3c8b5082a566caf01ce3b2190dc7bfa626ae9a1de1f63cf13b740a96b871a10e762fcbb5d1299823c4d5c75c46ff6233bf4cabb20b8310d3f096ab5046b31eeb5afdd4e8c88eed932b96c81ef51018ee31373b0b902766d2aa4ebdfa19511ee4b01f405f269ad0893330cddd1e62898f8784a36f4af22c7ca4ac2278e19d093b19df5f14609b63c36d8ec8a74e25f176f62826001139d1ccdfbc27d2f551947d00cae08263a042428357e6b30bfdf3fd7e8fb06b50f64ab6ac7f08986854fb711af3fc8087537e828456e4fc9d9ac54bc31b41e8b47945d2654eff361e45e97d129af66a5f940579ba68f1804e19cd0b111f92b4bbc7d740531a7715ff08641fae755327cef9baf541e3414b8a3f19bbcd18e822197e8a5617cb9c02962a71daa3c69be5dd7c85d283be82ccde0f8b5549d660f5d45b99094ca84a953bd89de986b6330c121b7c07c0f01f013ce36ac567cdaaadbc90aca652066ee76ca3be55a7ce0ea07ce8eccd3cbfc4dcec3ba548b46450fbb85f28e20226c4b370c62931b0004c9e20045d552a6c4a3dbfb92a71b274b56a1f0e918c440454c53e6a48ea489afdb47f075c2fa558405d11392e0ff57398763322296cfe156f3eb688e086352b53c862e402581bdc41ed7dd731125c87700c1881d35f369cf3cde7550963149a80ff025b082803db028892de5720b5869c8ab3b97fc2db90fc4967b9fced4e86d8142f3d77045489818fb50e6faa2c839b8f04aad17f39794a33d26b8fd7bab09576932d8d42f25bb83cb4d40f34ee13c567dd5cb566ec8f096b0dad441fa0b421f560b300fc3a7dbdcb2cd3308accf270651d2034fc1853ac882b418aa0633dcb2dd79edc6e85ad1a5e7d4c928acea5928169c94801d8a06df8dbaac7238bad71ea2a384b111293ad8b0dfe3cc99afd9c4b6993e0bcaf364965dc9980de3861be089d1ef5e47442024b332a07d83942d8fff3499527c22b9ffc5f0dc1e9f71f25d42a912d7408ace20dbee72911a2b46bb48f52c0e8f81ce7859bfbe5611c3fbd044791961a03590eb61b711efd55a0a609cadc3067e928639416d9f215ee84c7c270d534b84f240bcc7f7459c61ed42c473cd2efcc54a128218ad78c329fdb9992ff8099ca0c04dae2a2d34491ea2e646a172e8e70992fce700e414253b8056de26000061c5427848c075766e2abdb98224427e5c5171848b1069dee0b80db21eb9d300b58a7549cff602136d0f6672447b668d9176177f93cd602d2550a5748aa4764f99bb7e4889f65ef62b62b715de066d2276fdb40b583746ca4eee2b8dd35e4f30bac58734cd320067a94a4ae55b9b810bc04646f81c0f0ea69be6f34c0dea905bd66583e286f11fb29255c774f0b14c1b9d59cea692c7c4072aebadad0269ed126d427383325083e6b4480965aa7728e723fca4a84f425a64b5fcdfab344ccaddd8c641df16644bbe14cbda9ef8d2ee8455dafdd6e63b338218dce76aa1d1ce16ebb392499177999ccf0b0d2c0fa32537377807eefe4dd4463e614dd0a3656d3b4cc4f1193f127fe02e352daa177ebb27e92605ab65d437decd01d2d0dd053702372535d386f18c8667b428a5ae2c5bca971c87d58e879571606ad956a0acbb12ee1ec4782832cfbb65c58aa68e636f7daa80b6b87fb22f075a2548b6b810d0cb646722217353e1b9743800bd1abe59f43e5f9cf52be1ff4702f2dd605e1d3dd950bf999b3d4978944c0c38d4ae13284e33dd36f662c015a7c579badf691b581024073c021e17035686b8d7ada750c43ab6f7ec5a4f7f943d9db6a85c9b8aea6e78871e7ba1f0b3dd346dec398adbbf67cd50417265eca82a2b9b79c1129b2370ffd51ecb9b1fc313206a06acd6d3071a164eff9fc49d1f2e2fbd10359b95ee8e17396c405f333e194c33af6a1b5d320aa8db658410093431be270e572b65e59a74347b8686c5ebdd77d840707a7188b3c2ccdda192a3d3129dc30a3d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb33402ffe58bf09b6f21c1006cfc486cce233fd9e14969437f6e0947e34cdffe021cd9c8641e6516a175bc31b7f3f226cc0469a59229c5a7aa9577bd47bc1e32802e1df22091752342eeb8ffc27754c3551a92c2a97bd2f9da5134a8c1e5ba3c68ab2a335bac42ee9acf8efd9a349a3b0af20288c2c02955b53d76dd59b1f1868f97c813b0c5074cd9f520f1f83447d331015b709e82df5aece590d159a5227baf8c1027484f67cc1420d1236cc37bcbbeadf0e37048fb91d755ac05d3f6c72142fd8e20772b6eba649f5d60f75ed7dcaf7b6b57d005aaadd4eb72a882e226136b007d054590fa244e8dd44297d18a9db8d2a5940ca9614a2bec76bfffd60c5344b6e076846bc23745d6d21d0a7e26f0d0ec8e6f5a8bf639fc04b58414bfe6260bf8bcfff4394ca45b23592a65752f270a3e7f1e8f2155f5f3f2aecf1692e0f08b4d066e7cd140465e3478854eba13ec63c9fadecfdc31b0aa6847c238addf3152cb1f4e8783c6023c5164872be84d88a05be30b3c5d3532140fabcef730d45e9db5208346cd7cf50eb8689f08b13f29f7b5d59af46b097fba4fd8f0975ad7a1af62836ede52cbfa18154639f0034e943b83de59439efdfa8d7caf88dad900991aae2d1ec083311c12d9ecf1449dbd4ff09f39575e299568ea3cf79bb211bfa7f0db345b864084dab7b5f373da80b4187594af730185fc552dc628f6689801cb515e8855c47dda6ebb808537da3c6f879012facdfe5c10461f617acc5f6f70b930c58dc2d9d4d2c477b18c36261bdce18354105b70b131de228d3d46d30651ecb872d03df5ff496f2a4da4b287fa5bc2c749d733f2a0561ff9fe47d5229dfb4a484fad283b62b52313ad5574334c0ce51e94a6ecbf34da1a2ead7c90caf858fb1b80c1e0238026fab647071eccd9ccbeae430fa51edca85b3e0db61885df3b8a79158512b82bd47fe2e91a0d86fd833e74c72420bbbca2d30dac585d5886a291585cfd882aa2cfd1fed1a4746a5eda4dc44a43ed1071558c146fa60179f8bd7879e14794873b722f31a4a2345dc7fbf2a8dd4b8619c929bebfab5be7e9a9d87f71c67c70726993e6bdbd95aeccc890410bb3b83e536c69099e4e53667eee7617d792716d8829f8e9a944751c0e053f413f51c63cb56c218efdd596524f8184ceafb311f746b83c1209f135ecfe0d47b21cc31f624298cd389648060bbf0d0138095a3b62ae62ef6c7d7ddfe89a4bf01e3c1dd81ff5103558582a0c66d4a887dd49754ba2ca6d7510290a72cd1124b45dbe9ecde3740104cd2e5c6d8aef91706b9b3560d8b82ce71e7de32f772f91e3ca43a0acfd6ddedb5a77e27031d9cd4289dfc6ad0571d68a3ea899bcaf95507e7cb443e04fe414ef5315949c567e54695dfd47f5d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334029508f8c32bda7116c8bb5d7360b77b55f6dc444978ff00c04c44d2defa0cbcd04a77c5eeebb8b9aa14353ba826a27577fd3707363c2c495c48b2dad7b1a3bf3a2cb6c82ae984c12b74ddd344770da0383164b39a883058e7e23d735bafd1009159673a6bdb4657826cce0f26457cdf4ef2f0e093229ce65fa0045dd8544d81ba2dea7c0107c3cd370af26ad0f6801612ccb7ce7b7c6b83ac7e46b9f0c0d8c3628e8dd58df321a2978d64b2baf0f1f5762c233a85ad15af90d89f91e600dc56c5f5479db58dcffd5f53a6ac9b41fa2d08cf14d12612738261c5070eb1b7177bdb303d68ddaebc3a1b8d873593cbdf94c6c0f19a74b29486d2d5cd577ae3efd41e641383436d64220526a1e75558e5679a4d6240684207559da6086a435cddf80138c8d0f218ff10ccbade03eb175013f6af88f9657196acc022c17021e80f5aca6c3025355c8f6b7cb9f30fe5f1fc6a4e3b90a4f89cf97061b62c5b50bc58e57251438c2d8b9bbc960eec3761c512819605e7e1031452bb0350b3a588e40d64f8d93b6512a434438613c4f28bc1ffc0c3addce5d1fdd10ec00e141578acef383db6a667010cad584e0b68f2385cc67007c51acbda4e227a6a1fc005bce23c8679a03c9f2ac0b18a52d0368fce94c897b7a5e202c1b00c29abcfb84a40c54792a416d4decf31ecdd47adfc6c5a035a87953f51c8455f90a2084878d53a5daa29f20eb6b75e55e90aa1d75b91eb02bf9f2ad535ad5cfb6eafc9f1ecabf76d0160a813682686b3547425cad38bdfb986109a066d6b209d18bf8667bc696748902a201a6f7a9e313f91c54c5bebd02e4052a9eb6ab7b89ccf20912274dcea117950eb166b531082bce1a4ca0bb13e1caf2d7f102f3480a26210736fec451c30e30f1ff2ec2f373a2cbc68c6d8e2f3f215948c055f4c56dcf6bad83c8213225734a398db60b9a09d54b8d59a1850e9d5a6922638147cb7f432b8b9e2cc121181d0e6020e537b56f6509a45677151485902f82da6c2a726d1f70c1d62ae68396d3ca8e74731b9dd5b0c480d6a97b6d1d705e89d6bbe946951f109a2b0c7238560d8596693d79730f3c32713ce87d5cedcf77631d8726ccf642a1bf5166dee08372b6ea452c57db800123f0ce6f70446e73e7f0ca4e5762305869e4649c9c095124097514fa533d4163f876cf7c1ee1961516b5f8dad81078e3bc2876b7765efedd9d26462ce6f783f1df998509d22210319bc8ea4206747156654992807f5e8d0c2a13ab72002406298c3952cebaaf0e30e91113689b67efcd41efc126e5d48b659598f36e1430653e6d534c1f4e0c6fd43692cfe91db67cd78d369e22a02ab6f6ba100cd36a59d224fd5cbaa8d87422ad04c6717899d6f41785f71f0c0717b9b6c79fa856684bc330f820d73bcab18e5fd3b5184798a7e4e93bcd8ae9a115ef469927bf59b634cab884ba1676b0a0a3f9ff0a539929dd62483a4536b84854823cec334a34fe57ef10c6b2f0fc44ac611d65561f7d157b892dc8b03eb7863b07bdb6034f26474dacff454cbd6eb58f0ba4e68d2f5f95346298260afd54452e81c37e0c9036dd529fe249148477dca1ef99d7d5fde670fd0a1b3813ae5706edb99a8828f15457e1d9e8879f1e4fe4606da941544b775da7b79eb71bc81ad760368e27dff70c41135a559ef9d6af732dd5138f3a008ba1b96d1d90f8c292253ca02856c4546e98d758468b416312da77484eac086c8ebc501b50508cfafc7fa6ee07781c84810767336db24d8f12f19fead633a57adff52d066345af7d7820b8827518bd0c764906b6d734c2e2e1365317f4b2ee061365b65b1b7eb2f06bec0e6621445fb794d0ec0ba5cd5c10a9e7df913eb936427c26dcb17ba56e0bd70270bf650247e0bdf977965ce9806c0825e37dd23eb59c609fb82dcdc291793b9e0165fad96216ede4f6c1ed3625ce55c4591f5534a42fcaee5965ab6049fafc32880f2e7fc4715db0c7f40b2d57b52c0b9ba81e3fecee9594ca8c7f4d762edcbc3bd29505ba667472ef0f0e8db4f565d73f5dc0e949c9262c2f4cfcfc856064d3435d7220b3ddd8039b410cd4f395c386dafbede10fb48bfef43ae907ef5720b154acf9d01ef1ce44856a486de25719a3fa02729ee97225a8f7e2d421458775a4a842c9403d23c8247c415f5cd26f8e0a33b2063c426a869cca402e8fbbc17bf865bbed12c432dcf4313edcdc154fafae15f7469656efc4282c5408ddb85cde564251b6ff05fd91fd7f9f66a6f6da1025ce18197cb6ae963d9ad7ba7301399032b4216e9323f0b6087c5c85324c77946a33638f39ccce8a4e4a277ac54a6b46828196ad3c2e50975d21412baa223b07ea1f3cae9e1347977ec68e4029bcc7047341b47b9ab94bd1da0fb9f2b574883f61301558e59f504b1487d5ff094c508ab1a3c853c4338c5bdc308f0d73c33141d073591de48732c5ad47c1d14e84f75df757a6b1e9b75aedd4b7369229a8ae21ca823af368c03eed5a87d910d2286373d52729372da2e7404ffbbac5dcbd0dc2c7fc6f338d65548ca515e2cf1dfb474c45e9b4b5644b314793fabe92b02c63a9267fbf7a33a959b00552a3b49f992bd9f9286ec93b991d5817d7bbdcc39be66b381cfba69914c5a48089252989541c45610caf0248f4cfe855e17a01962165bb74df9efcd0827f6160f8d6bfa7b92d052879d5d97716ab26f2c73ad13047c91753a70ecf9f1062fd0eca231df3d7ba6e1e40e674d9e8d471ecd7bcbcc5a3322eae72bda3bba82b7ac4813f174786ac12abbfe2d25a04194883f4decfe0ce6f586ff291fc26f9d9693ceee3375e3f5f182f137221752f4befba88f1193d87d86ad1c1b7f676a74342dfd1ffeded6bceead67ea343f792edc71e11f727f83a9cb9da2fa74bbc72ebe72980a1778458cdca5feb8bd6b9364fedcc56718cc870e1b65d689998896c77d7b6e29937fb74c15858f663bb1c3355c72e4317d7e50991839523e5744319f34c61af3e68be9a3cbdc0e8c47d47c66d6179a95ee7ed063a4d7b3a2976addfb99706a63126959e8fc1feb70480fd489ceff4b3abb1021a67182cefe6db129de8e2626c3329b19a2fb03cb5671dd6b7737b7b0055ca4a8e43b536c947134bb1408f1c9e1492e15a9ae536e98f3b3a61257d6dcaed4e2ac1e07731835d453098e405b34122fbf13a2b58d55f065f823642422b1a24445077e72e689a4c4b39ef362afea6c8a1e27271e9b8c09bb07499ac62de641d64b3a6e502c4f938cfcf0bafb0184dc0773f31e3cb2b362053e6cb43ee60077b259cc3bd0b04b5a4aa181dce6461348c633cc366030e9e5ed74cce26fe207d939fdf4145e4ac0a1959758d90d6c0be2fe30895dae5527bad8aef9f9aad239a742ec600e90a7889c834d0b2849b3bdc44195051bb293a57f9857bbe9ab42c8e1d963fabb7458270e59412ccee26981991fd7e9c3974614fafcf0f3648f9d22f7b9a05b3e65c81fcc577d3f7f6f6a767f6b6b54d8874a2392691e1c1382b9b00d35c4a3ea0260487a7caa591f29f2f6ae40b843cc35fc00aff34e5013b8b6e4da5cbdb539a229070088b3b91032735eb8fbd7cccbd2ca8d62b4e9208869426ea24ad1ce607a2eacc51c25da99b388d3162e3acf22c95bee49997749a7b0b22da1b83aaf494446e732c26dca5e625b1c08742bd5207d0fec105ed7af441e3e99fd0d43cee3ed1776f01de14c7d1def60481296c98fc60b4c8240f8729d4918030d49b257c30c79a3dd0fb8f9aa8584f046096222611e3f53ea9e2ca6333da62bc7bb53fd74f5948781b3014e28eb1def1f09ce4d83696bf9a6f5cdaa20631309e9cd377bd63dc2c785e78818486b7f90a0d98ea53db62f8a58abc0cef9336aedb87838a2f23ff07039e1abc586c39d38062df8e0477c0037ab4ad8fa7171c5e68987b03176ba9c749f37583caee1efb2b25aa7bf8ca6058828561e7abcb2b4517ab05db1b2830145520c10fba7ac6ccb1b124af7e02949350f3da9545c0a3e0a46d6a4a076fb836ef13eb9ce2667f7c8ae1835fd8692e77b71f58cffe60709357a76b7bc61267de1d76338275df9f2a51c5b076a9e7eee212a372783141a77ab0c8d32c3d3860e756156b6bf2b9016a4c2a79ebed5051080db32d0f74200c6b5cc68af1c28a5ce604fff6892936b33916d2dfc97546ca5c29b951397a364c277ad62128d2d8ca54cc820cc04c64d5e10b5e10bef68fb564ceb95170f5a05c3f36891928a280e7ac5bc1cf0ef3e9d67095cb8b7ebb272b54702bb1c9b3973c2fe01f338141e3ca6b9618b711a95dd159572b5a28428ae5ea9b6c587197ee8dd0d01c1656a1becf508e143aab78db50ba7200be6f62f654e22469ea36e62d2cd2913a7c2ed06c4c62b9854868a9fc8741f1111586f8324d62cd5fd64376e3a60f451e332699ba4cc4aeeeac825be08a7384d068ebfb9b865c9628c6f75966c38e07ac2639ac033ad7c87fe7cdd43bc2d3dadbc29f48eda5ad5c6b53ff8e81187c573f5bf6a186dc74a1998baafbe0121135bbfe09b6cd430890512451af0897ea25e5289a5b9db539acbc3af98d470666520b3528b70af1772bce79b30276cad5f39b2696b2db8f8deb975f7dfd8fb782493ea83038c48e5b298eda63fbc3eb8a4610193bb159dae666231ac4fc779e95f6ac6d808d589631e42a816cfb9419f43322568b3a978d45d4e2c56d0ceeaca0adf0dbee50b1264ffd954087d31870ca92027262a3db6ba1c708eb22434ac4e44801ac8662df774e9a2cc2c419d30169d0c67e983d8d9ede5fa980ee1a5c27ae9ef992cfc4e9d6e3070bfbf15f7781c1c8343d3ad8ecd022ae46d6d83ac4b702dc6c46f39cb483d681496f367d5d4056f3bde9086407d1bbc9c4d104eb05a1b26dbadbc951ce3e17bcf60ea8e001b7ff46555b83edc91e8262d657a67d925269d480f38a8e65c4bd5b3847e8618260f81ee7800ff7092ae12f69fa6f3610ac1142924d8a78557dabaa7c623efe348fd9958f0dd371e5a1d036a6df4699e28f3687aca8375d5553fb0e591fa411116cc952bd276b7c3e9dfb77f3858e0d617ed66fc2f63253f0db82e100b1a6b4cb02b5f306ce48bcb66d0b36f2e695661b7027d6ff0d9fd659fd2ed0f52d0d8f5b2e6056b8a91a1c09c217a5443c3785083077ca787464b32f914311175828ba03d07087f993ae8c7c908208bd4f410ff59d4e820954b2937277ee788336f5f86f73006cfe7edd67ec3d2ce6470ac0a1cce7ede075359c187e3504739e50d2448f0fb2a7d19ec51144a1a6c050f72554f8027f83eb184e8f94581dc7b663dd1b7a92046c54c27da5cfd6f639269f90a216a98247e0c68e12fd72cc4e51bae7e1fa1a8ff0247aea80653de96c45bace6779d6147e6e573589761674f150f6f46589e8d30175842c03d767a65c4dac6e44188ce94baec17e5b038170852accfc0131b95b825bd1b019c32ba11fdb0c311a8b4265eb811c45f3c6c36f19739fe1e6adb9dd3d20e7a7f8464387ea0e6d76861cb56ad7d710028f57c48d77b0c4d45acd06ecc83f8621fc5f4e100aa44a16ed1bb38aff331078170ac4fb836ccb2f844b76ee4824dd854f2e44b47cd7a33119d9971340a1d6ef14709de2e4e95049af0877ee4d8a8982735e0c6a27ef0867250461c70eeaffde4ef39f811f74fddbb9869d64d3b95574406140b6af199f3f7ef351056e080bb0efccb180513d1706f78ebc75df4b062d2f7936708a8c42be669d0d5ab42f014b373536796d5141fe32a0a1ff91d0a63a3b27084052e03f8f45cc7aa27e43450ec27a68884bd481c85dd27094def466d1d92c262cdb79eba41b1318706088ad90052b6660f3781f46e58b4ac9498a75912e5c10d9f425c6dc2822932e4bdbaecf1693913cbda4d7b7289d77426ae53050fff306f4603d2553652a46cb36d028513b651a60ba33be4bff4fa2b428a17920bc65acd0df8396abd24ad906a8fb4c1f65df9fdde58fd57c20108184c52ed427b7b1ee4df84ba6ebdc5c137a39debceb6dcf5d867a544bda70b6d38bf05afd44c616a1e38fa30387709414fb475a25c9770674276b177bdeafea83d7f464732ac60b7ac693a657040e46a89ea4952ac9d55a6cf9609e15734a0dd8f54e3574254562ae6989c868fe152b657b5860cdb563f270ad936f0ebfc6352fb1a46dcd90825678c2685a7fb0afcd4b3b2d7102dc80dd0d7b1217fb34ce7bd79833d94ff83b084b517fcc05b3c39a78522563482a4e43e734f7951db305611cc5a051e2edc38fc1a6c95bb7313bc05e56e270eb3e01983e2f1e5c0d7856a9cb3bc83ec13a1c04775674f76afb9f060684b4a4bd6b9c21fed1748d0455d7be54e19b32c70979d77edee81088948410bd3fa4044875eb3dd463fb4f22cdd7049bd402ebd875c03816a43f093d7f2fb3200735109d573e261da5fe6fa0f0ab84bd1dc0a3f16a7ce65fbc6785d580ae80d615872119ab905075a6006b1f2a9b69a9fb4c9652a6659d414b7c2577123cc400ccc5a083261a31750bc24b2de03dbbdd292e27f77fcdf2fc3e4fc826dac2f8951cbf2355bbd50be9632c3ee14d5931d5714f12f38c0ae6053c93c5e4f1c9cd29d8be3d64998c41029c6a18e940a9ba7f14180a80fcbdef18b29fbc218f63b2557fad8a1faf8c4f9847e71e6f8666ec585155afa753865c72444357b640be61a7c46dc75b80e641fd01a1f61d12bfcc15db6ce67364962eb3e5f0bc1df5968d1e4f18052489dd18667b32a5e80bfaddbf53cd1169808131c76878681472d14c03846916eed0d578f7b2780419a19553658e9c68d29b7a206b389d13dea4fa92fd1d074e478839de483e5d489a89c3dbbc8d6db26e41f1e9c596038fbd6210b5efcfe34bbe84d1497db8fe488426e60b44f7eb2e148610f32188f2e7bd898ab1c132428986ba04e538c46dc067eaabc0b753633fb6cd3f3cc5c08d70fd7b05382a9fc562f1e42aa9313d6e72f9e09ebb9490e4be612a80e76f030d896c8815f8025289e4a92ead7b8372e2de8cf4161917c43ff442b709b4f493c7ce901a5a658ab861e5c20a8190867b6a70b673c485e605bd192f946658ff2b0f94f0369f66f65d1345d6ab6a142d1415c2493743c5ce07d4dcf09558497edc56601f6e43f001bb73234bc5e46c0704e71e060e1eb96f288a8f29a7edeb0b2cf096d2a9853eccb728fabe56c91b394d04d180a1db7a30a6abf1604b4a108e7c53cdb6a41df3623fc6d27418ad54664b6563d394a41c043eb527cbd6de224aea33c9087f51ce6bc45309042b45af351769e80c288f5895cd35338ac81977ac33a5d3681a8a2819227c3d4520b204387cf745c12c4908ad1f3f21fb13aa05da8a481b7b44e6ed06fc9c96ca849b9bba1f2431f7c99b64b8f4c41b9695f89a508dfe61588ea060988ac7e312b873a2fe42244a6a98571ce59ada08d957d0dcef29252952e2acd24057703c379581616d74e76f6ea5f1ce6ea1f1792bcec2f15bea6282624181197e345fe5cb40f6a4e2ea499a627a73ff8c1f2e0ec9f365b55df0fc2962f201cffbf55d48dfe18d9dc0b0e12fcee9254fa6aa7554b1b2f2eab5317923d72f1c3c86cf405bbcf3a845f68c024a1ce3f9b9b817da78f70dd51efb98c6bce6f44540ea99c7d3e20892641593bdaed67f5ce3bf13f6d907fd12b34a3f71bcde0b478d891eff1db4230487de8a865119a114bd4c5e4fead9e3de7d3ff2404d01edaf5ff85ed91f1a8b5cb91a5a8a0d00f1175ea536db5e1e37d3b460756524355385113e5b8dc647ea1f75804e5af9e6f3de39c618f0f5d40364575e6f374add9b5a60b28b12c33f8077f910d93ea27d09d0ead7a3856f6b531dca7e26287df33a87d363295cc1ee3455aade460b77a8903679a2d1666be377f9bed98dc0f56c518ebfa5334d8d95417ff1ab809ceb5ed3bffb299e7b8e06f291cdf46a47c34a151789ff52f86cd827a6be5f2cc2cc20d7571bb4c644978b40aa9460e53eb4338081386e022a37a2b3ad0a7ed4ed2193dbe9a9c07083bd1ee98f6e32d3fc85bc32a23ed2171a58d49945de558367d430fc256ece0f47f8d42ecf52ca22d4bdc07dc046c96ff103bfebc5be7a21e0c62fd48832932e723874498bfd8f90945e3e744588bb2f7d93fde1cf64982df7a8ae884d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855615f2d08c865a14b570484da8d19194b5794fef5edcb5dc13f09e98f36d4899c4163db081a7ca82dbb99110e16c16c565c4a6077f7a5cb71e0f0f196392b3c8c6321ff0c7fbd93028c22ae019a5d245317e76d64d0415cec511362b6358de5cb652ce63fb46673e87c72c6b791781e1af9b6312a7b16cd84493b62e6002a139afc6f1081bfa0409050864ccb8fe7f5aac3d4246c8382db66cb9603ce2c29d69d1faa1939a2813fa3a918d0ec2314bd7f4bf2d293fd025b36ef28680270f63688a8c43972a2629022026241dea9fe691f13b3d388f1951dc57a2e6d0e562d5cffb7067731d08b0aa806443650cbe08e79e47253ee26fcdac7ea79e668114a79b893fdb7215f751cd0e135d32cef5aa3b4f4a986051e5379aa441ff2b08db0dd71bf5488fca382bc0b14bfd914198b149e9a3d05451a7742c8d24778f8ebeb240ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85564604e3db373b082283432b4c27a91cc748afceedbd9898c6009acb24f13a029d0a7e20e0e057d6a8516bf791f6ca06ab2818de46bf68fd7c740ece7a721e56a9b886a2656ea93e048acc87b21101f8ee98811e15faf9026ab9745d6925daa64d2ae63c669266c6a6c845d8e4d678782e92b0c8fc9d4b1da422c57c7782135de222e087954525bca1686a554f980e9bba38db3283e4c14e4b3b80cdf694a6c3991f7c2e4a1f8387331af1103a7a61617152f3c3e67eaf5275b2da050e5151e9bddf33245abfd38c242c1e6f495d20a8a8cbfbe3da450f8750caa485af77b0c4b022d128e42af6cff35d463040efdecb3a32f4b1b3a2e749b066cf4247a81ae6203b945d5b9f4e4115d1c6e10eb12c507210ab8ee01d35f51110d1f6325a50714d84abdcf2bd91deccee429c7c05fd830b52c79506d00f1c01e764d12f072cca699c20cf1336cb7e4defed4b221245d20cb381d55098bf5431862fb5c613db1e58af1c924a1efd47cb955e1bb1e4215473b9dd15d1d748626b73d3902ea5f4e3cd38550738f412dd2ab3ed367521139f2381ecca70b80fc95507cd82b1e039d5112eb5256b209f87377db7f3942251ac2f1b23f4a9030ada6973437aab1c186cd8e5ccf09ddc41a9075c08a91d74f3364db50e5a699cda8f11f11dd7f1aed95c00484ad3f14bf275dc113e18def14afbc4dcd63df2f01d41b06a5b7b09c3e871aec9e18d678cd6cd2618ae4ad2e918514faa7ae5480781f3b27e60ceb441460892d4d0fe97c4179df47360311f854c155ee7ca66e7d91ae6969c8e9d31ffb112de956a2cc3aaa7208816af1d98a3716d9c527af02921397ecc510590ab1ef3488e6690baf86468441ccb0b0528d936d89f4a4901694e2f66acd8b4189f4373f05b8758d8eca2c3cb2858a239395f33915a519c43b548d7b6f481b29344c669f493202b50ed7cd57356cc29d4581b02291a2a8c08e878d5e05233634f6f5d8cb0ced3c8c1aaead7e8869fe1c9d30d1d1f03def05cb66338e7eff0bfcaf50cc29ac69a5a8847c011f3eb60e99103f4c734ee7898cba79a5ce99c01ed9479f377e9a710ef290d3aabc1bb70c7350d9116b18cf0597153abb87b1ad94e1104285cc6d70b9cca4c85beebde1e5c507a061ae5bb2c19af8c846d25c7a81967cf19c5086243cce525c6cec134f95473c1ff8b4695df1daa9a28b15416223221a25a155935c9a5ebca06705155f954e8ed7a740ad72440b11435b68d5842bafee80a53dc344032f0a4229d7edd5cb885f03df5f0ebe1d33aa56739df98bf2fe22a703ff28a1469eaceeffc84a4aaa4273ea7a2bab8ead4ff6230435162cc3f681d05091fc85015b40ad1e83c4b88608580d7748492f245edc0be3794ed2469b1f1c4ce096f25c5e6b89409b40e0a59a4b7cc850514ffdf3e6c4e25edfd20e2869d585aa717b7b3dcf874a742d3a277fdac1b6cbfab4135d7ec4c980579b24ea0e60ba3799975880da2c5d63893c6a4959aa4f3ec1e16fd1596483073d1d9edd81528746ed36b73dea70b45ac98b8e3ab259972e30e88b088c238a84c5c1eae2fc413c6b3652fae4da9c3024587df5183ba1a6c37409bc8edd27108d76139c54c6340351977ea35856cb1ab260fdb5db00757d9622ff92e6dca4286bb4e07fe3798d61274424f909d46d8af844f86b6589f5ebcec5fc5cc058016ff7e4168c89fb3a0291a7c6f0c9857ed7a5fba3e4e2f941a1781cc3f1eec6ae9bc180ecbe69aa810fdc0de18d6897a4d96f40e19047fb8245cc03d8f57e3113940f60894a02dda824f76497bcc2208311ea3f04c553ce77dcaa98565d1e503cd8cfba2655882c84253a0ff1f80d6d121a8f7e7c672b4b3a0976f3c9e00c659468509ba4f6937895fa485b6faaf4caa98046ea55136282a2bef767a4474baea7a72abe6af7555e96450f3389f061eea01ce2e3285b023cec3cef97ab3411ef40d50834ee9bf5b2f07b23349d47c29bff14fcc41272c61f51c51ba892152644928a2f5341bbdb9ad36b8221fe92c428b094726058535f6805e5f2a27af7eb7b434e478d68590c0c069cd24ecb982c2668da82cd0a36903e89a692f9aaa01ce37c023a32318068df6d8a4341f483b1a56ef2fc22dbe3cc765e44795104c445f4e3409554564403120c658f81ca603ab88e7ea34ddd6e56925da9633b722c1b7f04ccca7ab94fbaf85daebb34e0e2bd8c379bfef7fd6e71c1d532e98ec891750f6f3cbf278ccf2ec8c352cab468006104d4f0d9aab8fc00e0d9995b7f8813424932323f639aee345669837b1479cde7a34ffc7bf1b584d89faa1408349ec26cf799bb4eab8d32b6c168761f6171b81fa8c5dc219e04b662c1ce92d95afc75b2ef26f9b25045d5f79880128fd15dcbc895678adc4d61628955f7259de28b7054a220d2745eeb021e09715bf318eba045033c58215424f399e829d945db6560a51f75d0c8a87697ccdc48f1d0eaf6b16133ffc95ada51818fb358e1960ac71ab2df2a5294b608c104aa2007989423b9a7b8cec6c576361d65b821c8e9dca4c49f26cf135a96d5fb26128d2045447a51cf11ce8b0f6c7ea32898d825a51b3e854be1dda5ab9b68ef28199cffab9f09b5de86ab69e5829030f9d0c83d6a3d1ba20564991ec49d0e4f150b41b303ece04bc00a4a60721e7a9dd0b13fa6578feda725c579e96aff37e2fa2fbc71073c6bd7a0aa4ad9cceef3b501063926cafd7b08f75b11645dd3be86434f51ae4ddfac3134fbc9fe1a2b96de71c8a768d348317a2db992f44fa6efa68d9d79b76b12e3c0ab6822065bf5413cf9b866f9125963310318e3f7e724cb35ca5b6d67ec95450acb1b906b7689d634c64e0a2c99d53831332f50508a170e261843c415a53058d27b77259413cc10e1ab90789c06524b8dcf3c047b0b59bf093966f5b6fba1554dd1b649a931c0ca244e3f0b5985fcf23b6e1f4e04bc9719c42210fd8fe9db48c6cc7f25a8324228d7090c05065b57e1f1795b46f3cc152faf35ce766d991b26363d39e5f59fd778198e2c6bb587830f371fc5d5c656c9bce11b595f90748fcc5af83dbb56dcb0d7860096364ba6f600f0de5138472995a562c39cc84e405d0f8c5dea9bc5da202cd1478656bcd50387afa9926377349972b484179f1bd4a5fbfc846b22d7042611be6f3e0163345c57ee22d4ed77319bef5898f87eaabe8956840b9c5195d8dc413e13be3357986be2a687400f5cf153899fbebb24a2d87dbf84c92cc15a4936f4ca926425ec2478f89984c42ba6b5829498a6695ac7aa586abf4aa27261716c70f94babab7298e96adbbcbe3a90a8d2c874f7691310281252c70c0ae6038653c0cee19f3ea676116d3eab05917fc8ee2b6bd4a3b33aafc95d4965b513d44f6da3ea37d9552351c33baece352ad3f906d2c7cd7226ffe6aacfd0726c990b8a9eaa46f45a67caa34538f3fa343d57966f1e66a081fdba9a2e5c9850c4c6c784b60b1efcbbeed402f2e8f4b5555c80e00e6bba2c7bb442f196c980248a4473ce4117b5ca5b86b47df966b89fb786460f500556288059e9e18cd8c4bb14de9fa6398f3d3756f178d3b73e464777638aa20dbd10cfaba93c437154163d3afc199a22804846fdbda9c3948d565f169dcf784126e7d3866711ce46159b9fbe1b247a356651d7b8f912045bc1db6133bc51b2f92d9088af7fcd7c9a642a546ed7d02db043124ef48678e615904ed97b4482098e4069b3db4fe157a550ea928e92ddbb34f531b019d45dd094f4fb5b1043543940d0a9b8242fb3d528b2bdaabea105447059704164ddc67a90388d912580a027f2a9afcc2614348c898dc8e397c29d015f438988a7f24685146a874e1316a62fd6d51e8608e4d8be7a49f3cb63693c3120817958dd7c2b951c77e99a1bfa248a6f72e21ddea2da911b080a826fe42347c1fd942fe209ab53d08cc27093b8303a644f18bae6eca8886ba91ab9d0948a6e8521845d7542cd819f4d2fe86eefe5280dccc88569e5af186edc201e0cacddc12a5a9e767b42a48a68e0cfe14d8b079ac0c1ec7fb67325c41542022c852b5ba5f5a6d3fdc0e94d62598a825e8be5c566dd34d4cecaae1a008a3c15baab6ad750ddbe40d2ef8ab9878a91afdd33678140c5fb837eb22add852c2fc1639d6399deb5d39ed795d15361a22cc27891448a0ce59bbfb125fe407af235f3f905da27882dafe5f41067e9974cec49cd45a7dc09e0cad07bd3f5acb3d177f75e33baf28b1567720e9797faeb2e4e4a2cff75244b02b4314f112db8f6fd73a7a27fbf7e82d282cd406ec5a9a7d4bab4a95c0bd8facfcaa5344e3fe045aa67832b4d618b31d91115a6f00c15ab6ddcfd7b5a9f84117cc7dcb08f4c1299cfe775ce9566292eedbec8e36133c96bf4af60b440f283d1341369480ca65ca6ae9cfc8fb5298ce319ef9bcd1ca62aa2086e33b8bda34f096734218b6e88d0a9f9c723b570456734e6a042fad41d90924cf536549f60c6bf12c58b8d7aa20afbc94a4170299443bea22ee499854191793f5530cde572c9cc7db2400154849cd919d06bf7ebb2bf0ab276962a985fb6526a81741b70ba0a6066ef4b509996c9ba05b230c5938f8b74629365a8d414bdee8bb2fee30084b4f92ad66ae8f3ef8a3fceff3282779741507aa4e68fb4f4ea12873a77881a9294ccb6c80e66db06c8adbb3a6b421bf4f1003a389ad71b0d950ac6adc4887081200f1b43c856ef83aeaab48e70bf809c65d4c70a6dce0261608879555d07f0b571d1ae997ea54392a0cfb916837220fadd8b7b7ed65a8298ab9077385eb2971295e66e39ddc624a7556840b7311c7a6eee6bc2b2c2e3210bfb12020c8096ada7f5933426108b537b20f3208741958c272067ac46255846aeb54ecd49e06578243546527b1fb8f85bc57ccd26ec60967b834e01479747a854d865467879548602169ddd39919d992aed308e5f3f9b97cd74db024ea2c6c5e421375ae41a1a626800f4e7bac5d581643c8100c6eb0e61ccf04dc0df674fd545b82e49fcbe8d47e6e140755ea55905b70493ae1ae8734472fb10b26f0d680cefaa2acd81719015d4d7effdd20f5d6a6fa037937a120314817238111853a5cde86251f014f14701f4fc6b72ec96c41a68202dec1a609dfb4e0a6743f02b472156c014dfc39bb8266f25418c383bf98d547abd784d89f255f8f87c0a336fa10860f695f7bb8b819831a6a452f04e937d1458b3feb8d1ecab8faf3e8bda81949e5d74d63ecace419c0f29e442da94b070115f044c9d309bd0ff4527c999c601641ec4dd3d5da84ae7211faa205bbd0f910200d2790200a168fb4b60eb148651628bfadc4e7e9a396772b32224d24d2d1a047964a67c8484148fdd20a853773fda02103af1121c3ccd9682197f99e2a61dba30bc98c11c30ae493282a9ff1e110d6007d8fffc333a35b67902f613997c74bd9b961c7f0578e8dd7fda0309044034dd3a4995b12a468f09f55f53001be877846eeed2f4c421c0a0f238188e7f758c039f82a0cd4dabc6584c5667137e83d55ba9e5ebd7b21a59dcaaaf7621afbb38e9c473de49c94ef6048457adffb29ed4ad725692a902592d2f0a9ebd29801a7723d99f41d3e9c87fa7b1e4369813592806a509d259ba7d18d46930831acc3ef0856377ec757bb24ac544f654a76903f2aad9d046192b0d1ffca0e8ce0213ad9782b71345de7d10f3edcbb335dd5327b1733d83236d367588fcfd75399d7da170f060c69913ae84d0171f5e0ac33766358bd6f7327f4617e0a84d43c2242dc833828c42caf626f6b14aea9d4c5692de9415cb595e0497782ef84c0d01055f506076b60304bad005735e75c854d8a4d4b27729608b6c292a35e693f8f66595a26839af6be9bce1af6524904c82ae44484ec28432293c47b4427ff5cdd934479099f4a670a7bad4b2bc8704b19eed79716abcb73ef30c7f2350cd00b3c88604402b12626a9b90a06e74aa23936ebfb4d1c58a69f2c55a7ac562281636f62f007b87facc24a38df5c818dd86552c312a63bc71b5993e10a209dc7e7326ff262c9c0ebdffe5645920dcd021deb2421dd8a44b5c7625883cd7357ffb1aad2cec71e9db0ac57339d6cadbb85fa3f2a885b7e04c97ec1af308678959dd71c4f0ff07fa85d4e9614531ff771d409c761974d9dec35b4f94f58b86826013640c9e4db850d6a81a34c8f218cdab03febaa96c6659995d16293e99254950e1a219e57c29a9cc461344a3d7a1bba447a19bd75ccf3851e57a318fbdad38e724069f7bc11a1a4a53ceab1fe0fe1bf5d5f37034f7812bb68d62e478c7001e27b5a55e3ab0c0f0e04bf4222dc00ccea87138731e04b9b1aaa25486125e0c6d26e8bf1b604fb934f8d9cbb1c11d0f671dae9176575bb08bfa8098a8c4b1657874bb0403439701848d4681d6f8765d6afef702a5e9b0b47f4b5d5f9da2212c9fd66ab919cc4e2b41906bebe980b49f30fc35a9888840f8ee3f9d9b8cadfad84165b14fe300b76c5229d76734f7899a305354230aa97aa8d4cc12eb3088e3d0009305120652d3a09ccce74b8a553aa89ae9cbb1ce64f15583f8a63c48f4bd2a333cbdbf1ebc5bf2bef9fb881d69ffd5c39855d30239ef8b2f1d90e4c4efaeb222761451e58985dcc01645fcc3a1ddd45dc9828cdd5041a744b9913a0939510ca47d5442a49158623763d25b86df74956b52ea389159909863f48c4ed3d82225b9ca07412ece0a1a10553fe7620c63f13946eafe2ce549b38fe313cb04c61e2ddcbadbf615124d915d075ea1f4f540daff52abf69ef0048490f3e1faf04aa6540be10628a86a2e1efb0f8375cdbe52bd55a98410fae9e67575d686931c065a05680bce1db6cd63e29f9f3d03e80e769445d476412e90568c5930657f58d90a9d62caf6ed04ece3f6033173dd62d6bd7fcd12c80cdf185018053ac5b6f4358564db80d495b1a9fd66db17ee2983003b6c6a4b517b2131d5b3aa72e92c92995f37dd6f55bb7d455b32019fcb84bd2bc27e60b9f446a2ad6f4cfb03d898d348250f768b49ad9e3bcc30cea34d46a24d9178fc4cfaa6846d436e0ff293c8e9906e35af897fe547a67b2c1d1aff99ce6afa86fabb8ea2908afe4b272041c4a821ea0c6146f44fa4d1b6105de80d25ba2cb1fda9ad49e0904026bb901e82e104f6f738dadcd3782ea10b8440bc1e8e9146dcd3b2b9333a0787051f84ace5ad429166e2d9645fe2f2730070ea71de5f7a2623b7ad39361099398d79f9529d9ef85145c380c5ce68f4f9d6aaf10157da0ba989c3e78f52c6cc8a2239f028aad9f742a14cc2b7d2f6bab06ede81c032e14d7a73dbac637143ae89a8e475a119f1d424b1e8d4e2bb32311f96a07fcbe2b8dd945eed55c62be54aced186bfe2c17a87db7c617e474cc25ad189d21df42c4d23a4a76678e47af3ec79c2952497b16a80f4599d24b7d8dc7d209f3a147b45f30aa5a3cf03135576a50163dbbdab6027f696ede9e0369e329d4336f78c1a8f2cbfc5887d2f4161454ddbf927ebd12808615e7e7502340f4b0ba1a43186c0a2920b23c17d9ed7603379a786524bdbfb3203334b7ec22a41d9f56d893a74a17e426b74df03129fe5cefb1c4b9e91da94f3879276471e1e26e61a8cc5d566600c6f0d1a86b09970da4a03d5441d2df1080375b0f717d57d4fc1e28afa78f9c25b01014e76df3a0c3f57a4dcb3e06a621e35457b0eccc48a8592ef5859efd8f96de33935feb0b3ea83cc31b5070b524d34894575be4a2fa2934f7b5fe3f15b5709ca8c04ac2be4cbb2a436da8a5975b2c9c0a6866a4ebb0e588fb02056296758b6829ffb5b18fff0da92f55dd8c5eb3c1f3b9a3748f21e136ac343f9fbbd00b0fb467d328920ee94f2f032f6dd0e781ab4db11ae038e95976c7a8acaed8b2be9912e21c24d5488edca5646790258c11710cd0319eaadbb6721571e72d9ba4ae90134e682ab4867f567fff90b5de5d4d8822bfc6b74eb22251294e364b3391582948eb3c5fa5a2f02e58d9af87c12de94e6c266a2efba40d0c113f8ff9b5c68d14118566c9758f32f2efa6f236e287c22ffefd1f67cb0b6ea764c94e07dae35c51f572b4fac404a2f245e02c176e167624c71b745abdb932c83d77b539405bc7cb312028e8ee8ffcbcf98d89308015c9043f6703468ecf327b31893a7e472dfa5e31ab060d49fc5ca71d5974cb5231fe49da8ea7264db32d867f6dfbcd7568f9c6b6f8b2e5c940a8337adc566f9c2d980cfc0167b97f6457078fdae33c9777cdca3d1cd567bf6f69cca5edacd6fde21dc8fae63a6c1c89db4d3e631f39a57c6ec3132cc17b82234922d8fa2bf0c4cd9a939613cece1d448f8069fd04d5a8c936d8b7b48c189d5498ecee7dd132ee8c837d31e35f2ba33a524fa37e160ca75fd0f685135764e464095bdbcb16165c73b15aff5863c4dbbfe140e6d3e9fd5491e5be4e250ac86be0ab9c734450b6d4bbf934269a0151e5357ebced6b84f35e5983eac67d8beb1a0a9676000622f5c0525ebb748e6a7e73ad4bf6d4daafa59734bda733c9c7c4cdbd99350ecf14dc01f4dce9227b81ba837d60e81803fd71b31919ce85911207e86259371b6f59f84f77aea7d589452e90c09beef8ed7440f93485ad10e7e96bacf4b26b2e53a74347fdbecc1ae35fc60fc382aa63c8326a8bf948072291e0b99efd051296659dd4a68bbb260d6b7227535dbbc602e0e64f8621741f3363928475327ed0b0980bb67699df3704a3b7e4a3d7d39c08615212f2c663b944c30c2bb3c371b941b4640b3b09e1b6b12345aae1d64778fd9c765e7fa0dfd74ee6541a669906a3bcf1e50f3a1163c9f16a19cc438fd5ac57d5599cd2508a71e189585837ed9dc175083560b3f931013881c364d39268ff30cd6f72004e63dc7649b652204a2ce47cfe36abf3c81bd05459ee8f849d1c92457b15132addcf38d60b6157560f1a90b04ffeb24be0e6369a96b209a09f56807e05dc561b834b656bd94253f4fbaffcda795f43f287755e863912068e293aeeed3c5214e6d9bbe3afabc3328823a20f051b2187fd40423f9b434c7a9650e9724ff2bec2380fc74ebfe31b4d12860d8b6723bd322b90d26d00daf69e889e1fbf17509fcfb97418969a1500371bc9b67a15751823c2f195ad52819cbb4edc99d09f832d7e8966226d2e3c625635ac9e39646f105a16d48de968090e1d76e1bc3c748cca632d684cf6b60004228ade827f9df1bc0e9c4397be175fccaba5c23a63d60f8cd86dee53f9c18e3b48ceab7814941f8f63e04e85dd4be58e5f64290cf8e8e4e13680a10d08ff5aa5584c00b9a4a68649e51029a76e4e55e2833e10a4902451e617d034b5c3cdce8c94e4cf76de43cbe35c67a58f1588eb772a1bce7f402d164072f2ca059fdda4b4604a7beaa07af6b447b7b9a6dd5269434093e698507022d13f18a4beb57d5fce64feaac0635898f9cff5cb6b2fc31618d71b643a292b198acc398ed3fff96d412466771c58aaa9785a47305f15e53c2aaac085fa39721eba0e1ed58abd396dd06a0708ea8c4d0084673bcf0cd34393a7a951d8515947d4508085ef2ee9657efcaeead03890fd435587917b043d5a02831333071453dcb44dcb16d5a0d53bfb574ff02035de983b538019367c16c24eb61ff7365e075b71a2941461dd91a575419e13261fa9d85f9c251d01a3f6837b29d7973ffe504a95123f59878b68071be9852413aaef454fb30c5fa1166cbb4043f0757fa020fab9d243c050f4ceeff0fed9d1781f7c752f76454f36cee89bba3063bb936fe898bb73b3f47ce3455ecb9df3da3705205fb3741dcf2bb534599a73fc2de2acfa71f9ee1a5304674622b7f2d427d30d755efdb74a1f53a6abf4e6f1bd1740f5992a032aa65cbdb539eba6b413ced3e3fdfd4fc782f85a8919e4d6040d28680d4c7b2406811c0e374e0a8784ad5491cd3c5fe30b1df590dd2adc2dae972456ca3ea8cd3fca29e18c9a444c74eb8544175f294d4095beef0348ef8398e8790f8e4b661865263a54bf6241a4bea016f93aa71b43631b0bacdf7eaf8b6aac9f0ac76f11d4f7f5410792e84f65270287067aa2d221d71241c0f9d6962fa5dbcc93a0247a1a0a645444acdc724986c3fc9fd2b8126d2c0b256ed695420725f1440d558e25d7291ebb1997b5200b7bb5d92abfbf6dcb9791f820683d8f8df5add717f1d2b95a8f0746bfa51443cf8774ebb80f8348f4d4f9e18f3970b21f8f1a27d607daf5db83c7b4b290f0812c04305e0e84ffcc265cdd9828e1e660eda0f5c509d9901fd45bd7b61569646535c9570c53a778d2e623c74e50c81c14a73aedee2eaa64060e2de2b1220d9956cecc0ad1e82e640d2a3346afbcd60acadfc427a234801e1131ec333d6f44cbfadded8980e3fc169496070f5c065805f3ce29583222c62c75dd00bb24234825fef7d7446a9ceffddf62025242819b0846a66387aa963fd0a9eadb75d0f002b10b0fc2c701a1d3dd6434d4e9418ce062885273dcb959686990a1a59f716df22b76c6b7b087f61c3730e44a6ebdf18aa6bd6095ebeddb61992e1fece251d699f8e9df2632548890f19cb52b2def984462c18e9214f061a0b66c3e8b3fd270a38697533ddb7b4c1e00ec68021105a172b4bee66820688ce5545e20e4dc7561ec19efecef5af1706017c45a85e9c7c507522bb31d6d9fde9176c74cd43f63655516d62dfc29067a1609fe8e5a382eb7e772f06d7683daffbc96d122125d9f07f362ba03faa565886dc151178e471f9cc606ec7cc813fb4970504993cb4afdb1ee3817ca1e4f8634df96f25aebd3508927e15efe6c4d9ca0f0fa4945472ebe48d4a0e3201af0d595ce2f73e24bc0fc2e86af875fdac54741e7fea0bab0e1e89ab0805e1463ca8b6507cc654a0fde5ca53df96ad11f814f0551f4a46b762edd198aa2fba63109065b177f4da88e6205fe960d6b1aee420a957a972d7c0fd4c7c813384ca19be47caf11a8c42aaaebab9e8e1921cf72e62b682523930f2fd3a8992f4146a7ddbe244054c8fc1622deaace3bae1e3d686057df4bf4ad2841db30408345fdaad362837d9bc0dd4aabfa450150e24ff7777e315361dfc34303f993a9d558c8d374a24d526c8b35d1d595579589dd5907e1316ffbd50d1c481fd0a23b425bc6e34eff3ba618a65eb64cc61feac3eebbb203b9a9b6364bccac95a649f94e804fdbe716b10076cbb0f3fabe9e6c6a81e224a818a97926414055ad933530eb3afe7b31d0cc7831c602941285a8109770edad7ffbba39c9bfe79d7669e46bac2307fb1b65626961357b822c86b86013e46185956a2467854e4440e9b7dffd7e646e30946f9103f766d54fbfca9fc51a18a7cb85eafcbc9c0466395a4d9aa172e95cf46fec00d279ff66870b7bae29d8f6bd6e0340bcceb12836088cd1641e939f78c06a2d4775b51bf9bc80890e14f55a8b98081cd275c8325d8b854540df473de57a3c04286ec98001063d9f34c8b1404c7dc2b40c869ca6843503c997c8e4ffe25253b0aa31a643f8dadf2b417aa943e436812c3d4b37bbc8567588557b7106dabf18d20db59bc6b80cefdafe2fbd6d7540dd3c317e96ab56ea60cb606aef6e87e388b8293fb3648a5d61af94dfe8014bdbce712a7f8dd834aee74bd7f9892b9e956b1e1adcdd53e27735da6573a278fb5ed4da4a8759191460126bcbe239d3f96eb4032d87be03f67e4293eefc0389c15ea55d4c224754fa321e4c6027aad5b85550932d96d03a97f383b970c999f3b1ae56f000709036e1d415c7c9d0d2d2aa809e40164182df714c82d7629c5a384c6d57b61bcf29eda12d5a6573e3457a44aa509fd7f3f622a24f291b2ec74b61db75a22035f860137ab52ac9998cecbedd2d60086894a3201c5f6e51708152980399bf1a8db51b74b797372d5e6c5ace3c25d49fd5e398f3130a279e8bc460bbad23e22babd4aea831d2aa56d1c392c95ef5ccc978fa3dfcdccfa4a542760adc64bf4778836ba06f953f1f91df156d9cb7d528beca480da3d788a15317a82a26dbbcc6f3d04d741c4ed19198305dd724eb537e43d3df5ab0fb387380b446801f2864e4c3b5c1dee9dfc943f80db730fbd2803d1f99dd5f4c1be0e50b5add1777b19ae28080c0545afc184d2e02f2f4f395de8effa5c2d80036d3d04bc435b339f7ccc4f613c71a1c2d685390a72134bf98f1f8b09ad20aff4debd9e0aed4efe031e40ba08fe9fe4dde4fcda456c316288a1820a2ffd9ba845bb9a84a87cdb9d8756e10ecdcca1942253d95edac24e9e7ee64b5c94c18030122021f5440a4f08c0deb93b9b6dfd680429ae0fb1f847d1855bd3c09880be068a206bb727615e287d6c795803a3bedee9eaf1eb15adcf1fe131e01ae18b560bafa99cb9f7c6a4b99e58014b4bb67cf344c8c4e88697dceea444e190c1316417d253f45fddd0efc9d6df0754252ce52512402ef451ee71a38418759d7989c353425ab6870249001a5dea83474d024d47acbf9739ede42c34fcf7f474e588522609d7d14763b37a9d18ca60e5ae36310e542bca166c666f1702040609103e35e8181acdadadd9a87b33712429a5735572ecc0b237f74c9421bfaec3fd6b665a53888ddf147ec97353481db704e701f6d58b024d49661e10a00fa6f06aa60a04b2a8ddd2f57bce118e4214c8546c2a69d8d5e6ba291e60fd7ff09b9e8663959bba730bf61f8bf5efc8904b736437c4bf735c195f72f5c3a848ce67e69abfc2fe76150b4ce14434bde5feb1f342be3638c968efcd362cdf5dc405c0ca09a0933c5979152178b84a09e9472a56d93b568b675e4a1db992f0e4b2e1dabfbbd6d055771826479f47d44542a7665b901a1cb6cf500daef242284354b96fa9a3fdfab47f197ae1bbde243c66e9a950e50fbe91dea9c89d296ac01a9da346f328ec0cdfa69c251c9fdfd661c35e2f9f25a00ade9064c823535aa4a405ba487f1b416534cd4f9d0e37a5b41e47e122c19cd93e4aecd93e9b79f7477dd21d6e4ee2137dd226440c7beb7a6e323a90a6230a53ba297ceff0f70dd8642bbc083d7fe18c7ff143942dae4468d92329f6d3f171681d129d09ba03209c46f70e742eb3c67bbf352266a1999a17791337c81f504e9c159d857eba2a3523d61b3165fa9656f93da36ecf0d714f5cad82e45564d58ff5f4b593bf2544f2b93632ac552874b01cd8aac46c00708420eade9f41a9ae15b45a97843d7c8a0dc31e9a2ad1b1ef5169ed776acc1b902c5465ca8fab044ed4739420767e5e48abfd4db0f3855b217ac49d8497ec46d1ec0e554b3655ae96d88e173f2e723b821032c4152e0c1850ab6cf0c29b504ecad54b70fe02a5ba2c169dff4003fe44d18caa513ab364853b8f190d2775307b955a07abde4ae82c57a452b07e521de40a154914f424d39db11f4feca248ebb8bf74e89a9781303e379f0fa84c822ca97d5fde12f10272f17a640652f994cae6b3b1b046d477f7ab580285f996778e443bec3045f14b4210465be08d0813195ea04fdf34b27ba78218ed08017e831a037cda3ba4ff4695c1d5199d90b8f2e30c87b2d2ffa6dff48a53d1d2d9836e109e6a55ff4848a213770622fd24d2dca58a189de27ab98aa996460f62a8f216f748fe448990f02e878f9c6f47f9dab55a8f5ae9b9596890a65a1082e9d85ed539695787352a5250ef7c395df7c818b4d6689865ea431c8ec65448a4db6a169412d858e01ee69382786dd458b91e15beb9d311d5bf5d645ec3db13b4758c82f33d596b2aaa434b0ec914676418204d5ed31a39329e6d8f05ab9aed0237757c3b7d10a2c471099645514d797eaaf97f55d894dde219833a25e8b8e4071773730528875753cf175102f4bc96c44ea2efabcadd9aef1da95568fdc232a8123ed80c1e5c536f36bcb1356eaac0df8f99bb65da2c1fdb46aea2d1e3564ccf5a3e1d52c22fd91f56acbd0ca9fcb3d45dab109dbbf4186b267be87fb9221df89500e0e7f219153f9088c8bee95ff936e2fe3ffa42d992e67e16079a7789c7ca0321c82947c9b6873a093b0dd132bd5ff3a9722dc21d6229ecf36a6f3cdaf2e00cf43908b65cae595611d7e76978ff499b5090828b1696293d09ed6448170fd9cb99953f9177535fe375dce132df2be5dca0ef339242e348d6e79cde65a43864cb5ce11d8b709e6db52204b7863ffd61a59f9f0907bf47fae88405d5d950a2c7904799cff8f40c08b379ea0a8ec7fb3e872d27e8e317ae6c0b2396911a0ef272d9b14b45e1801368cebf08ce217bcabc220510868dbb7e87d4aa9f9ff15491578a91da60b880a37f14803ed0aa5debf7f75f7d087b4f9ee365f5298c8f97c7c3e8975bdad17c072623c8fedc076c36b6c44ed003b3d8aacb421c55d3dcb80016f9661e8e9beb298998f39014c515b0a116aadc9bf09908e774433d3ca37a4b27bf998546ab44c84cbf88fe8c655cabdbe2297da5b2517ccfc0274ab4c4c066f6942f63d39ac6ad372aefba352837cd7c5a1b019d630b81b01f72f5944ee40e41011d368c134b798021256303dc880ae30ef475bc19e822f95fc0107116445765b4a1283305e4a8c1260dd4d7564f23b2ac83ee4e0648bbdac6ccab044951fa53dcb0f019a2f6e1cabb127198d85a1be684f0a07f3a9de5d67cdec39ac7b124247abe17c0f8a6b87b3f49ec39a0e790aab4cada6319a823948c28af6b3b0cd0d70cc5eb231a7d744ca9e598915502098dfb600807eade52f50237c5219696388586438a8b6578509e33496a5ba60b85162b97ff0dc24b3a2336288d86c1edf435a5bae5caeb64f6d77c5c3dd8d5f66603430d76092c5a3f9a9455ab63507a170d32b451cb05f4dc7f5d1ca8a3a372e116e98066434de46387877d10854ac1eb13740835103222762fe7e01345bbbe2db2b0811d9e70e3edcede75ed998a75a156d3bec316d462aeddd7c8af5d289b062756eb555a57201b36b596e4769ef269df0f1eeb8934c1192a9467a685287036d2c666bd055dca1634c0f9ae83b5f6f28687fe271226e26bc2d250f20713dba666fe1ee0e40822c874edfcac8d2db983120c4fa6a3f89eb12579f3aa411ad09ad56cae35335b1aa203d613620bc5cf0222880525a24fcf4ab55595dbefe363470ba00efccd9f19c07b68495dde4213943664310e69964ceb1ad1b05f474e40e7b1f07d50f8083a5c3882f93307cc6e6fb3b1d0c3b74b1b6141a3aaf6829ef81a711346b79431c899ccdc79df372d69cf8d55d8c198103b9c375af3083e61825cccbc3813ededc950f964ec746571e1fbbc985d69a061d51647ae859d484e63981866f0ddab908cdcb490d01b633956b8d7a2da97aa0d6dc199532d1328459987920035365aeacf41e4427c51438e9af53400ed2bd246a13b5511406448a475dbc3160c9f937f4d4bf4b8239cdd93e6da441881fc29297fd5aad73ce5144940bbf92575e3e9906c22cfee8691a4e09983bbda84040a8d594dbfaa5da8c9670e984dc2cfb5de22e80efda42f4ae2497ab8cab243cd1d118df1d1692cc272c6c3170bf4629b981a2226e4421cacaa90108aed30d6924f1827adfc004ae780e5d9c9755609862528e4a6460ee1a72c48618ecaa826b3b60825d0cb3330214a2fe75269964f4e017f424409865e407db947b894d6342399251987290655b12132b3579be718076ac2bd2902f13786652a2b7051f96d93383e094ec9ef07c2db4306ed6e168a0269ff9415d8e9b6e3027bedda7b4738d59d46e75ae7310667f3977374a22593484ec0a13965a93feec13138ebd01c21073b2822fc8431f618a95482b7691bfbb1508cca13de62e7250a63dee508299d6ff48201b686248b8213cb9cab85942061aca1c9964eaa4b3cc8526c812e1ade6b90725f3ebf0ead71c7560a56b06bcedccd1eb6ee2bdc9a592c2047f31e7cc7eb07f1bc003938cb5707f4886789c47152e5b66f213aefc82dbc38eda55507ccf6e47bb030e1329ae033e4e42b80bfb424d8aa8a571e9ef8fdfa60d43cf0de3f372f27a86639dce2313f49996dfbb6e1427ddaffa1b442c3ab8e9968a7596b206ea59dbfed87a949a0a0f484023668c6bd7ca7823fe700686c09a2f05e49d16b91f10483aa612286468d4c9a9d9c76f546da12f6bc26e907d4faf90a1e6b5854f9dccadfbd1e54a7a1997873b6842f296fbefbd4f15322a565c9cafe987172b75a44ef7f471a290a1f3b9c437eaa0095a58a653f7e0cbdb5de3879e63d5afa1416f3aad64e22e7ae92c86be96c22b5b8a618a069140da4fe55ed1901897c6428360355965e8501dee38da9806f5b91f7dcd1ca46375c896f6d9787bfd10f3247bf501c0e78000c0e9e4269dedf29c5f6453a1e98d481d90bb7c156a3b5ac824e4c1c9ced9490224b1fbd35e8141c940b55026a8d47799d38cff8335968a66f33877e6bf46add987b5503f5c1a6cd3ebdf7a309b7b486fd30825d47e1d72febb2bf1f2a3fb4af97668545bc18863ccda5cf77fefa53851c6c843df63a89fc9d61a6cf7c29ffc69861fbb5d9abd7fe73f50d3761b70032fbbf5599f8fa79c35a1db900ebef4160075643416e14cee3407fc452145a1baa1d4733b04b4e9b5a115713403aa587a0e9a7cd9b5058ec3a79eb124f3ed8cc6ed142eb009529e105110cd919cdc45340bbe5330de99abf50e45cca3fe6f21d3d3b762e9a2c6c263bcd94cf56c478a4389633a9e18d7eec57b6c5180818fe064003aced9dc51d380fafd456ded4816737be0413436e5f3308575a1b063351c9a0ec36e76a916aa8b40bf3af3b295992eb52471689a61417025626ddca6be3f8f3a60e286111136c5e62b860d622e269d2e3952276fade2c0dee78c0e1209b890ce52c3f30ef3919871a2ac03b83585c05083ca35df86d8bf970160bd50f50f67d19fa8703e4d96411b0c0ed489897d1b977da7fbfc4842ac41a772289e799e09077fc394df36e57093e0da4c1850818b3338a26b72da82626064523126ba6491421ff66e96fb65381452f247eeb2816e4af9d1bc0c2f58e71dc26a8409d64b90664d5642e794e4a024cc6e522deb245edc2f944715a6e4e8fedd8f39493a059f6ea8a2f8f63ae69a4220b6e3864650e79a8d8b7d22606d4ae7a0dc34789a6a8b82b0705cdd3ff3ba0cb8bde37071be43c892930bf7e033e4f7cd329b48cd80e673a7001fe6da6421d96fb4f64fa7dce0bee65a8acacd6d5c678edb4b63df77d5a267d998697ceb2e0544f79f34c6244a1bae18b99bf8b4e14f9dfe84b21c890ef1771f30cfb53e7b0962eba10b18fab969b68c42a39cf9817ed8be1b794089920abf9878559af85bb02429597108c6309a5b1b1ea4ce84286b4d37695cd0b49103caecdf82c921f9f0404f0917a1defa9b747917209daa888344189044009f727a2fc3e2b8a42b9401b1944397bd8a897490f5323761e792762629e6b656658f8756300a450b822c9face268ad72e02a60f6d2deaad2fc5fdbaa089440383d9f05d698e3c1f72cfdf5b5729fb68a950f49d4ce5b5ccd967e45268841280eabf8c9aabd6e75885b73278e5ce363cf93c8f44671a55204269e0fb429f1657fb383dc00350aaa6ab2373bdbb7e8799f6ec9d83d0f4069d713a30a3dcc344b6ce8856b057a077bef0b8f5103f2b7d30fd4944fe8d553b74ad6b4c1ed5b4b30a1476147a8744f02d8a6f822b7949c464548a0c9f846958bc917db3ab8214a1fea19513813725a3c094848ec1f9e8015a60af0d795dae1276964471cecadc27da5468a7281b057c5afc88301f5fcaad406713c770c48cc811bd454114475711fab5a3e89a4377df4775a89931e45877eb306f6a090ad159d6c877a9c22deaacf8fd5d44ff86db78c89c321ebda2af2090fa23cc9a75e814749cb8f949796240b8bc81e7e08fbd8646409def2ee06b780f36238475d3cad5dffc44f638002ece44e376285ed1ae19d1680e04965bd487dd7961549652900e10c046469dcc044b45ccc9301b0a6d03bf22b4f6ae310868b02298e1cf6ee49d16191e7bfc51df980862f74c3e189b3d980b34d2c5fb15f1bb3f537406672a66717184f7305230a62399d4cf0831f8481b70519f3ff549bc163270f6de76b3f4cc8c3f7f4792e4189fab330f8fa89a0930808cf5c10bd5e8d416035d14b949ba43c68880341cd3dfc14be7a93af278f6f4f2312e57237ee8003d7c85638a58d2e87788b9d1dfcf648febcac04709d20765dc373a2fcba204443aac09ef0525190e27ec6868adf9e9665bc97564d486be07b5e64d4780bc562386ad7148706117fa80876d7333ca801e22e244dc69371b1ad18cca5caa5cce456885098dd7933c5f25ad19878609bdadb928692856f3fa188cd5101200655388fd720563f431ececb31bcba778c05d37517458e4f2c8551496063397d6d73a74bb0870191cece22dff12a8898fdd31854084facec58842876d33c950026fb9921f2dea5ae462f6aa4a43bb6ed38b0d8fed5e8f56015328d204c2786342838b82bf26950deeffcd1eebee634edee39496372b370be89c2aba323b219508eb4981c322987ca07096f58ec7a81910995f05d032df4b4c68a027d49deadaf7094eb7c5709d677df3c36814afb5ca728514c09b8b5b6e28a58f5bca7f4ca0f70fd0aaede73b6207e0921387dd33b241ddf2d70e9682f904eb56a4bca296828519775826b5030efade9a686debf5b8e48b6c0218ef4ec200444d36efb0ce39e71021c5075108cf5772ac604d7202af1742e3d6ec93ab04a76cf49682e74ff4d5f7f3e8dc63d3e31dae08f9392fa3cbc129a219f51de9cb6759cfae338f97e810020ab35b472d211eccf0010de48f7c36d010a7366ac813db50b7092a8753385f5683e560844adb7a12a15084b86906a6f1118b2ba658e1b83c05c6ac5afe9534ec8700531320d2dd3d628f88118ac0467970462bc95b0f2e91c761d63b7f2d955923f18b3bfac7512cfc281ddf17d5971b59aef28b4ac18020eb7a98cf274ed2e715f857624a614a83b4647b1e0d3fd50a1163a3852886ba5da403afd2722cfd269256549574fb681eca374d3b717fc90ca68a216416f5906d93b8491207ef3e9aeb51507233952604e6378f780234fad94cc0c86da27f7410f2cf8529b1cda15a7f8af03aadb6e0a6b536e161665bf58998e09fd30d5319309b5961bb7f0b62b2bbf4d1902c3eef1b0aa0e62ba5047c0f9b773575bc71a8bcbfed18a66d2771e138030dcb1ff0567a599f096fa32c4c640dfb74f5c16312fe16c2fa0ae5d2360f8878858fdeb0e977a841b39fc5c6ff6183f4e688a434777bb82ae23f75145eb3f93112188c2988b0e0bb9184058bad44c67066bc492b8f5fe392f014080443d7f3cc8727b98fb7492e619b56bce79b72aca3d8f27ab021c18098abee40437dc2e61aee247a7506a138e4ee3f6e61596f1c208570d2fe56b8483bcbd90d20c466a7e40df1e2b6a1da6d341fae4a3583821ade71724802180990f69e10b1e6ee9bf6f049c983d7d14ed98c0a2fc92c4d2c74083606185d5813312e53a28a561e1c5e2fc8f70b6d7a202b0e91e69fd21dd70fe5a4c4db992a35f480774f672540e9ff1f8b054bf92b74e83e8e8e3419e06226ea453ed075a4b20a7a29ae3079a7ec8fef888feb865a7459691b492072d4e6a2faffd66423310ef9e6499f92671814bb5e6e0b3f9f349b679ddb9bb7df4430447645b61d83b88f359d489218dbc807185ca1087f716755ac3719c1d611ba50f76f8dcf0ea27bd0425b100a1ef806d14312c11e05a4a7031f2209f7c7924ef5fce6ef1f62ff3da446ca39fedc46d34dc873416a4b82048a6dad3b97a95727c18ec50c4276d5bbce094becd4551a4c1970dcda328c24c229f8bc1d7bc62c3be7130b51a21de83cffde90a6c7ae6a9ed1c705c2d5ab4889635f81e004ad12022c80b06e25f2b6fc88ea233b2730620a676831c7029a78366fd8f0b03f0c2d3d7567574f82882f0155baa860659ed9634e84667e355eb8973f881e5660cc0300427e8a490381efc3b8346944115950da5e5a204cd679e204818e8ca3d2ba3ae5234a34a96374cb6a012d5dac671523d34248533651cc8e2caf8139947d8b8ceabe40d20b6a2d9a3f88aacc45e5366fc13d71ad9f89e25db38e96528cce549916c076784cd77bce9d412751961201de3721421b0df04989db9ca3a598105d3082f273dcb5081d5a20fd48364de8bd2d8275e7785192fa919fadb3f6dca40b32c2a4434cc0425ea0962b86aeba6dcc51b8bba1365518c4feb8c012f19be02792651a1b5be301be8ca8f0e5a6bf9c703eeb8c8343ccfc5af6e3b53da4f30881cd5b413a54ef9df813e777980b25c81ac5b47828345ddfea7d1415baff91836e0b93abbf94c28150f45b56e17d81ea42fa699ddecc92d8518fc6f82a4cc5bfc31ff9536bfd676e1b6a309a4f925e7f49311f05103308c508d0eaee23b75e37d8b61bb257248155cc34525e023986d2e8c62c966b6808902dc201149e489481a632b3e9367f4c9c5d63bcd5043e25a93ee2cb79d1ad75880ffa65b04094a617ec5346741729a7c086b35043a4d4efb120a1e985122a46169d1b06bea52f2f6b6a59d2b3f028e7246692d71e3c8b53f971222d720d585a9396cdbb4550705e34e1c34d20aa944b83af0cba8357d0ca63535c6a31ea05dc650a9e793a4853c576940b26ce326fb31211670430dd5ccbc08d5ddeda9fcae06392377e3b0df85e4f377db8545f2018d479bf249c3c3d21f7cdd3cbe28992ad99dccc191bd1809ef51663f20510a26aecc3dbdfb6ae1c9d826cf73e06af9f80b06e0305f4243e2ddc9ba2c69726b8cb9c10b948a58e8725ad3f8810c36004978122fbdd52d6cb84f49bf8e522b140cdb19ff4f78efb2c26b5049a17398982835eeb8457ba301ef637ac1898cfbc309b051745779e0dc9c10d9068b18cce55176feada175036df1c52e1c28045ccf9165a53e4748b8770b7db791921207aad2f06d700024fd2745cbabaa58f1cb38ba43187e4dc10463c1c127cc6548bdcf1ef4ec76d9b16c8e54831e122b45e43b2b9bfb7437958650d750451f0e5105815e4a883b3879863321f9d43914f26fb7e44fd7cf72d7ca1317dceff674e9a0cb4c9c7c23495dfa6457831748ce9226e89cfcac377408ce3d394de349021b0c324ed380b3ad1a13ea45360c28ffc68a84c32780a5ddd1efa4c376d110d34df5092ac7f4054a35471ccc5b273f09fa4106cc0847a2860f6ce882bf1f4e6c55844d7fb59d71358e2dbb5aa1c5040dc6593cf0869e66c8a432f5861a0aa41267d2fab7c960b12d95c0d00dd365fd6422566e51ebd87e3a57f2fec0b56a1126564343c255e69fabe02a7374a4d81d571163485d7cc8ea83738ac31ca66f3a5155f64feccbf6ce5953eb53cdb1d0fc657a61110be1696400d93b3d523fa6902067408fe13cda8247b757828b58da025c35e365a6c6667abdc12e36a1235a15dfb5fca5f0e68a99599853b35c1401b65c7f2f6aa9ec90ad85f11438b9673609922ade746bddcd0066620508b46e18cad683843347fb4386fee3a547be6742a2d00be3ab54507d299d034064e8cc5db06c1afacd697f47f6036d8f6a1555a1f7f9f2dd5bb9b5e889634661469a4ebf73cbce951e022b10c828b698fb8bfcf77f7af1599e1ff391e179f0b0e7bd16740dda894e3c786cad454be9dde16a372b14a999223c08a6df35df10c7d3a3bfe78996f6130b577650faee2eee02644258fec24a497ee317a3242a98936c6849dd3cd324c72ce59eddf3eb103070988eb2116932f71e268593443da07686f82baa8631106aa127fcba634a9e627df4fc979cbf71fc49ce5bc2c65d29522997d004f0e8b572de41ba23fe8e1230fb1e4124313c13c7bfa40ed71caa918ba0523a72bba0bcd2cc4f5ae206f62380f26f36039a93c59925ac6804906618ea1f2998436a637d0dacd13154232c46ab98932742975eda110a898d8266c844d8a2e98f17b92163485b62d6eea7844e47c44e39364dac6767c13137566cdfd73073d72a7e727b79d01f1a821cf5bb450e708e086246525a2883fc9f735599524fb377c8b8ce2bd3ce8460474e66c44d61979583490e52e5fa35017d3c3f669b905ef7cd8862730b989e474ad905c327069f79a9b548d844bac068f2c1b40391b509a4dbc6e720587a8d61f094f81e3f39620c61a9ff9e6b6ce7c7801d6eae4d6e61e1d28814fb6227159b875217b5d020a395f006bf84569986b2657dc43984efc93d3e4f7de209c94e88f854bf7272aaee7f078c0ab9b05cc695b6c852ba760aef7eaab27855976986f5396dbd2b6cfbe5b021a90b95642d53968587af5f8303d0c113e2b884d458d9ad5ad448ecb33a4fd9ed7bc5902ac270a85c85019a3a127790e28fb3e1a7f1ffd77b843e8055f8e546a0b926bcea14698e4f8defbb7c78d5145aa6e1e3f05982a47e3f9303aa047c4fef844842d332d5560a81f392c3f0d3867934a1dd6bba22ab65780b6e5768189920df5863480dc4e518a3b29faf9dad403b41c0af2197431894e67d8be8d84d375fc1040a502528835a67efda9fb81dd54bca2589a5c8cfc7cdf1dd56c87ba8b9132f25c3537e3d10ae4084015d1bdc55687375c94959a123ff9845ddb5946177f13282798cbaad61c90a6ea70acd8b18eedc67396d1deb090933fdb47870c5e216db4a56ebafb2c5157bcb0f973c7d308dcc402cc7c70aa2c064ded70bef148109426e8e0a598df5591ab0bc83abfc3ab36a19d65f30987558fd2539653c58cd071759d058b008d5959ed95533d37c712df74a547d98eb1d8e6f9dd4a808974dce22b0083038cc09b5b1c49b7491febb38e0d645691cedc8213e7c8c0e6aeb06b87f038a5647cb4212b4783fd274d78b18d0512364dffc40c25bba86051e88065b60e796d5ce00cfd93824d653ba28ea06a374c6775016adec0ed10f3afb32729e808320abb7ef4d1dcf703282e91f08d7b21abdbbf61a891a605312d61f4a4b7e18bf88ab0b275fa7fffa512f8106c4ae124dc8a4424207988f6d93908d4ce5530eef3dba28ae31afad159aaeabb27e07b7e6de620958221b74c490cf157f98a241fd589b8661da41fd7c63e0d4d8d39d0c7618c46f8e13436ae47807eba9ed171c99529a8fd71d8d5a3e1b66389ade12b7b67b3dd021308874d19b6116578603a357108e07c52f2511dff34876969fbd0cea6d7d2261f4a4695df881a237005fda00078175b6570515bc6206939f6e62da0f938452c4dd61382ef79d8bbc5244785eb57a0664f09ae1b49f231a76a8cd15a435cf4e74804a843e054d0df5bfe27757d92ce39593618ba29cce1d550567bed5fd63360a7151df9b01708cd708ca81cc61a4493f2965caaf5459f46fc2b7f56c3b039fb2647d72c72345a7d0db54445a149272b01fadf5b915ba6546c7f55543a26ce09fa9793e4bec1689e974ba9b69c414fcbe926e49324957b01635fdf0987599d0518cc1679602abb12795d239a84eac8bbfef9b1828343161b24fb5767bf4f09a6bb996fbf66d546d948b5745f1ee251828548e7e010e3eeea9524bf5891bfca7d3d692ab17781e68de0fe5c79871e3a7c2b5c417a97dde88e9b2313b4374efea7fda0223ee728ed76bdb10a66594d0c841414a32650af216c93f4c17939f826e4fd30d2c61de89eb47a62d7668b93361632c67c9f314e859b017d1f46449ca175c24b2449f78ca3e9d9c5fbbc63c15b18206dcd20fa404b9111d1cb17b39fddf682739323ba0407f8838ccbe3a321f2b5f5c9ad055d48082596d3f8be17fc1576f3492a987108512a2736272481c79ec824f52cf6b7d49da3c04c0f562b977e26da393c4ab5d8eb71a786f033b82bef070adc078c954499fdf8ed7d2b0e35ad8709644a0b633ad53d92c43f083c59b4bef423fc03929f2522dec5674c30f3703b540b6371d3638bc4c9c9ad24acf3f798f8363763e88f80f529cbc37828ac627aaa25f13f33d80811e2d910bcba5addacebbbe7b0a1e0fbe651e15247a2be9e6be5c7f959ad10e444e4437a33cdbd2ac6216dcfca2b2c7857717cd3254695b3a63793a337c6bb47a6419186109ca549f9a3e721759fcf1a53d60dd584a52c8331b404cd55a64f7d30e73da13cdfd14afac505bbbb160d0e0bfcc6a3d6622ee77c28bf7fe7eb5b860e0154259f9554f8f0605b1348f7ac4ee7bfd9276a9aa7371a14087d5321d6f7506c88c7063f0af2a41d0ceff4bb63342f1fab62855caed75f3a3b059c0049622d869d1ea0597a261caa7eb0903be696017349cca8b565d366337503b145f183c9a0755bcdc31afe54fc46171fbf2d9a3cb7c0f21a5b8e76afd4e3249b3857ca3b559675ef2ab1e474f76b902601e673bf0176b7b291fc3e4ff6132090e8d2134eb2ba65bf45dd2bb2eec046644cfd027ad84d96bea8e75073d0fffb6393bd061b155d9f2433917ce3ed3157630653bf3d7107ead94a4b42c351ef62f6b508b2c2bc13e3370ea8a3b759b424d59d1eab7d928ca0ce468dbcdffd4351f34b5201aa267a29ef306a26d43ce7e47d895c8895c342d4f63bb6849d8c048dfaa33fd911ea62cb37529407967957f3f4ef611afc2cf2958cdb80b7a2cb05c7ff9079b985beeb4d4a5fe136a37736dede702cec8c77e0eadc3324ef5b3110ac15de9735edda6b5fe7c5200b79248a19bdf6f61564a6d00107455158d3a7c2c657fac55a560de18123e8eda3b46803416a265c92b6e04e92b2ee31a2cc0669b9650a13cc9be7da91d494aba3784af409077559ff1448703c7ccaaca34e80d8a455419378043d0377b645b7bf66e26a9e11ea1981c427b194f866c2eefe0cd9f6008b58a85ef34f4b0bf8bc8767c6681ac74adbf1b2b9b7acec8bc2673c027ca6d8c68d1772b9f5335ad3ae6c2e92b7b063be335e64674edafdfdffeabeed73938256d4487f06c829335901de5bdbba922a6ad06568d6257b0c96d24d2ebd76057ae63819689c31cf993a5b9ad337af519282351aa3630fa92c7e65b6b0185d8310b97b25a787eb2ad23238c399fff7e667e8fb652d76bc6aa575f85761f0ae2bd2345f12a255e930a612f82092c7de5b75dd75c6c287eb53899a5db1e5eadf9bd5972affcc734f429597197c6128221cb0bbfc943035878cf615870358718c2c3f8b59bcc439881c398be1e4ef724023be982383e5be2239d5a7801f99d665fd02ac3c326868d78301b82677ce7ec419fcdf9e9dee0bc8a2ad23ce02d9a766c0453e4175681227abca34a523d3ffaeacf25e926abbf2e4bd673c90fdbe76aa1f39946d69869e523b8fe6693e04b021b0beb802ae832d1f293d6a38e7e359ade30764c26db61c12214b2a647348e94ca21f053f8ee44522cc807eeec326409e08119ce41d731a61ad04111c107e3afdfd47c82971c2e9ad8149986d61971f64b1673d624660f996932733dc5191dab0ea3adb1e9915c5f8914c050cca02e0a1e1000a870a36e745ba86e1fb3245b9c12fe416106668195504a27e7986c2862ac716c5f9c956c62a4628e571e8565d5dce4e7090bc2c0f2394f63bb0a82555f368695a2cb53a783859bd24bee4e0068f5d8e6ce6379b571f5562b41de80a56636440934afe65f5da2966d6699e4e8a87affc34cd0be6c8642fac70612a7b837b2a6d6e1c886c7c1bd598c110803c19df08138b9c193846718ec825e8cde0a1ef97d540388d0c9ab37bba9e0b8144e2d11855c3ec6bc91c5eff003a55701fe362fb179e3f4dd3a3792b1d070ee132ccf825fab23b87fbf113f89cc2cbb01bc8ba41415a8b6b0ab4e922dc1a0ff72af173c8904330d989b9e6613ea400bcb7976aeb2c334285040ca5d872799ecabf45963bf44227e5f86a90ad987928fa0c27a9626caf84dc9f0f9cd0ccee2dea5da8cd3b607c7a4d91b1aec660324acf9ac9fa650dd6db64beeb80bde660d4c99d5d9c2553307a15d35a31db68a1cb3e7f0ea8f4ad30b6784903ae5f475a22230006d3e0e352dc45941fb74e25159dcfd567b66d932812ced7bd67adcb64f8b55e97c660aae52329becd3468f1c52f0ed3cfba8f1d203f715dfbb7bea0dd02395efeea67f6465f8b5d688dc3c05b07896f270997a061b0740fac9e25454f8516799054fc51b90a584b464934ceb0d37507be6394f606d1ba0e16b10826a3fa043de8a3ec376c055977abc3e68f0c66726481494a18c440132d1bff480f965c0e83fd1341a0594b66278827a335b1d37baabae233536dd720e559ae256247d892551fcbb43856fa0832125295d0267b32e0427ebfa1035a46f2b762100a993859b2776fbcb300e0d545fa3b24c851374d0253187af0f6c4d0c6a743526316d465a3c0ad8f7f942f89674a6deefb38533a11bb65b1bb825383e71f954b41b7bbe65df5b921dd709947b7ae8f65df47f1bed71757b9872c8a8b4819ba6cc8c9ba4f23fd3d372b7ffdba2d8c055b91fe05e44435a420b5ee19cd47ccdb76a07aafb8b299e517f727c1ea157e8c314da69b655520563d353c6942bde4dd9af7a7620073741cccb8c37506d828ce434805bb3c7c96c4b01a64adf5be30fad7e3fcb2f9480939c96be74039a9b609bbfa063bb9033ad7e9b3bc9a20b98fdc69dfbb291c8be916ad8bc5fbeca82a21f6538998a239b2e0386a0e2dab8fad8b7c4d7f876828df4213c510e5901e6fd3bac27c2c48b88261698d30e607ee2373a6113fed941ae82ed876568679605fdf09515e809a6a8555a33973cc761e250d89c7b8c74a29318f7694ca5a993b354f649ec23df9b01581ddecffa4999fde575428837416d69695998c05c523d429526adfd29748617347e73822965d2dbe23c376fa7941cbcb33f354d1c3f82622ef0f66af5b354ca847e907502fa82628e5742ddd45f59754ad2775c344f707d4efca359d40e5472e072ade9ad88a1635cb59dcc8023ead2d3f2f930a0e380efa8af99a2a63ca323b11cf2752c3d2263a46d7bedab91c962450ff2544f7393137ab2f2c7742aae34485176c5b902e983140ae8ef97e5611bb911547f0fd57416aa48457b6a34dae4142fc59540dc507a2193f3d57c1c0b48680142e530c404de58377e1e3ef2496463219162abebb4c1b80c231920c5cebb332e38f22887d7d9b7aa761ac62edbd32cbf854fd390aacca33782e7db23ada4d2b7756a2a2d32b06d491ef79eb9718cd9647918afcb7f5b2f3c1269d147e38220ec89e8feb24a8fb002a14e2c012f99620990127fe17b7e9f74d997394336aff87462a60a6ade0b865ddef23d7a0023bc8d1a31f3ce5cd0f084fae28def65cb0eaf79a0ffaf35a50c36d2c4ca441c9cea9fa80eb6f202ed4a0cf21f2910e9391ac4dbb9213a474904b8be6eb53209339e2ed54e45d817595c935cc5e99dccbcacbd720e2b888a600b1aad52579382ade515c39e4992741901f8a88f1b8c2bfec0167fb5b610f7926bbeca45a5516fc3fbb15988bff3c04a2c2907d3a10ad05e9f0fc2ce1bf149b2b19d3180a3828fd27c82fe613b21eae2c86a09e2639120c8503959c9585445f76c7fc7a1e389e729e477db81efde9cf65c01bf8130e2a5d3f715b82981a4909e30c4250614909f669db5e1d04d224696dee047a205dc37e0334811d995837bbffe222de07f22d7ed137b96b3678642652cd36f94e9d73271d420ddf5a5f8146f6dcc7974ea9c049a6e2c1a61b4ce50af8d85d1fea228fb37878cc99d225049c7ad8122c5ee38bd9a4bc957c869d875f3cb2692ba28fb221a282ed44666081ec492e93c4f2916e41d2b01cefcbce53f8d6e51db8e7c90a5d6b6f4914a9786ace83aa6a8e17ccb3d131fa4e0ca99cf6a254c04994f6acea1d33d77b23c00d54ede909d09be91507242a57af82fd607db09d618a8f748e97e56c19d68e452dbc8e6b675d31bfcac882764d8d2488573bd7862cd7f2805a1232c2df6d9835fe4eedc5ab6bf1453d205d52bc16c6a66975beeb0e36ad31c14e2529748227f7d713e16b8250357aa2bc260734bcb5d43c77b7d8baff412b78633e50166443a68aa355dde5a99d3b867b21c52577a5e3beb168b24fc0829f3878563eb4f4cb99f27f2390f65895a464f140d520cafdc7dd265b4dcff74ea70d02bf5e54c0c7e199e03813b8fe2d4cd62cbfcc78cf397b53fc7b4a369ad5ad7db7f9f6acae6a37d6a8482c4f08cce4867ba39999a3e2a16932ab7cc51817ae00653f3e437c8e4a38086d9ccab82a93a2d1101acdad92b49fac1fd0a9c932f4598f0862a2ffbf2a95fe19b29c734614b09731138eaadae70bee11870217dcafffae13bc0d7ca29f79230c9c06b7da8c1ff0cd962467a274dd99e368696903a54c31df703cfe4763d2be1c7138b7b6914cacc989fb73c26759956d8f268ea3c7b8ea33b14a9b633662348124e334a21fca66a66cd3864e431728ae7e6eb80dda8024be737ad67a6056bc9c3e339f33a1a72b1dc152ce6489197507457d035726b74b9f6dc0f7cf1cbba28cf57f2ca9317bb76d847b3bcb3596ddab6c97ba82f945b3cb61608340b350ac9d477631302657f719d4add81187c761a4479a84a0af85b90104e64c42e4a145ae82152b21e9ebdbfe8d93b163abd8514d17e2c0e270a7082198eeb706ba10145ba5dbd3728647b811e391390ea9cb172741ab81449a2fba450d80852fd4810bde2f539e7eda3f2dad5d91420aab0bee81906c9baa50d4a5fc53635e22fa554520ac4080a02bf20c4f412d88ef66c58b3f4b97792f29a17481623f8869353a93948b2ae6ad73f8d222f10a5a74c0d85475dc82fa28c336009fb6c7616f9e03c2418208a72fa5e1cc6613be0587ca8c427304bd96511cd082079f1e1e4ed1aa1c15a7a07125520fac2e08f0b9cbe0a898fcc19530046904b55131bd0aa1c35af344ecffdd5a1ca3321c532fb541bdf54172537d3f46eabb70bc4727c0a473d25542079469b615fe67e577e14f4cad0db6b339f49c24f9308e0c0bf1cb382c814dfac7aec7b071de22db94bcd3a800137f5052454808801083a84a977d58ec3d55af72d7dec407437f38a88c6a06e66d715e6166f89682b7cacb9933b4f2c82f4c7d8c3e7efd19013fce422ed033d289484f0fa03adae4e5bcf6e550ed3a6a7c94c12c09a4f8978b8a31c2638eed3987c9a9074124be7bcd4e280af6fd7a3a6368f72a80ed71bf44e5e2b32460f9f7a91af756b2d7a6026582e8d20169b71f3087fc5b0988a69e394ad35e4dd60cae247cf80419fe1b318a55bf5038ab1496c959771ddc2e8aa2a448055965fc03e3e6f5b2ddffa2ffeaada06b5bbe5dda7df2f8fed3c21dfe6aa1bac73843276d51f8b358f724a191165e14f550fb6a1ce166110d58181a4bb374de5dc03c7baba5e4aa5fbbdd022c57337fd8aebd299a2f251efa54ca061e7c5d82d46fbb22a164924530974fd3701b555b0813bfd5ba80e0c16152d1548696f3b255a688128cb53955b60be915ac36feb0f1a1b08d6b6fb363b18029d71cb05216408e0073c93852b659b49dc7bf6ccfa7fea6b865f78e3d5c2e93b46aad6bbc1e8d7d526426ec3648b09a620d38d64634477a08822ae322f70fd27d6d2ba03b3ac3df789ef5ce6465bc5f4ca87a9687f7bf9478d08e5db94713aecab62bc6b27f821c992a5c445395280da9ef2c7d8756a21973b3fbd79560a412a9a350e0e740da92780858a3f29f8e1b9743e6d8b436f835417cd31c4b0e5c6289334012feb4bc8ae90925b158ce02abadffad789115dcdd1dcd6855cc7bd1c66905041e4b348046ae6699c7d19800c68b810314279be36d17a77c8d7e8feb549cac61df7d916088a59de79cb846132b01e80bbabf0c0b101c4eb840c78139a94b23692aeb484014a42e8f7a54004ecd5501f45a7d254330126b32edf0eaa4257039fb209c095f9f59386276cde350467cad6118f1779120f6db5b15f5ce3c5f16fdf74e35759738e2de2c602b0a5f863ac3b0a20107d4ba986e4927d145b418e28626b6a66d2fce90dbb522fc10c7f09795b90b73548f3224e0394d99cdf892ba15df0d9e511a6f82f6f86d505f5915528c28b7c9b570c35cf6aee7bd99393728d9caa64cde5ac6791b500e735a09b9e4b5cd683878a8178ca58027e57c762aaaed129a6ce46beb590fc4d377da4b2a4039eafa0425bb7923fe66b578d702a8e73943c9154bc6cfa774fee734a4181dd519dd9755e1cb08e7442f11367135b524342054c9b285d5a0639e338e42750a36fdb2a419bd93fdb69c849603eb01be1a39d9dc87a0bdbbd9427410d5b25699a38b00329f34f5b46815ee7b08d70c6fd0cd41c20a5582b4366735b6154f7a70b1e34458e206dd560e52994dc2f2c34e654ebabee6069692419cad03668af6f09d3d32e9d9a4d0faea0262f999402a666bfb0742078e1d1be8e44a98537df89ab6d7f63b972e577f4a8ae143abc6cc3bdee3161a6c62345ec30b9afb9a6c983d4d7bf9a3988bc62e6c9bf4fa559f8c9c2ed8298287b6bf4c8716ff02f89e4723d6c2075ef0cc38d8e3d054464e8097c35267c3c54b020f81b9fdc25e4f5c0552255a210e835696b1488fe72fc202e8410f2f7ea9e37040b8cc18dbbdfd856427b9c5c758959571818509402160c56b8b11b821b728450e51d24eb7135d76e06332622f389475d3610e6a715ed3c1d3b278855cfb2ff613da9fc9090b2115d702b89bf9a7deeb63899f3f6b2f84ead1b48fffef15e0dca6e029f7cc79798d7da1c6cac8a10b4bfa07f17390af2eb7c5d3b6bb8fca49b8dc01861d624bfb083616ff2343c240066646d5c8109c1da67af45f3385d7de0f0700b987dddf1f01af9348329144af56354d990446dc15e779d66f2a59a51710404594f02eb277bd6ce5d6fdfe760423d108aeb44b0e28d8597eb101b659d2f7842b8a400cdc103c8164005869c8a60e5650b061adf67c3ac4459913d11dea18910083d75d7d9de20bf8b22810a00bcf4a94f244159a319bcb0163ab1655b3fcbff5b213077e80ce210c69a28b3e2091689e5c4da1866738109fdbd8a5d320988e746fe3bf125c1e49a5671245b27df5ffe01da787f047b096acb5d130303b0fde29eb8bb0265846ac33804fd2c299caeef3efb804307d3206121fc258846beb2e3673ae081aaaaf95a8dcc36e8c27e6e6d03cbb3b77dd5ee5b4d80d74ce9d758a72c685927000ea372f92e48b78985cf7d350dac097bb432d28631dda20444df297cfbd87605e4d9cb13f46aee1f974406dc027cc2fe3c165e15a1a3b6471c79d46325b6cc8f18f2500006431fbf3942d688d65fcc4c1cb25a164fa3320c8af7f1cb11ef35edb858a75976cdc4e82c7405f81dda3781ff484c52020e1fc89706bd3dcf9deffa33f8aa7ae676fd98b879a8b755aaaf70d17ce0d61827f22dfc74df8e3c9d64f1755104b247fca22a184797ec08ac44360d184daa36584cf5445b384d00ef2fad49335152f765a3bc426bc5e4d2e712ba90456abfaae9b7e3de2f9b56e11bda42f66bad5d5ed874e5340438ff3c191113685d8646845146405853130dc3836781d6f71696ba3054bde735e86ac5e8ef16f3f9b95b8f55f00566b4432c33090f3a014287ec4851293c0c6099a54e24f98cdd37575a6e87736db799ac19e7cee813ff58be2cf9b5d55b7432802c594c74d5063e34a74a757084f874eb4be7695d3218d366bccb3259d37154cbe61afec923520b5790415b566763ea5c8a4527b64d6f8ff5a52c7bca607dd1078ddc303d84a98c3ab3df6ae0d8acffd01aa275511bae745a7eed722eaffc80225d7cd98765b23ffca4a6125d2f61c72c1bdd7e27aea91c2fb6569a28d8e84061fcea4b63c57d539fe378ceda2e751209312acb803752b5b5454169b5e9b1a443952b821536bf54a8442d8120956dbdec1b4b31e7ba28f6616186f013c844ce39c78029b0f38a831c6d33dba634c1334c945ba715de8d6a9f07afec3278bb6f0f218a7edaeb69c3ecd3defaeb052ffa0159881a8435477cc4eeae07d5173b1e64679342d256f0be89e15371a792c98a2e0da0d31f476bb9fbbd46a468ccf26c1147b3071d9d7ff820e5b686296ec04662038b5b9465b473ff1a08d34fd1862af4211454ca36e88e8605c80aedb9a4ab2db642b2416db2bb5105394ad6aebb754c09019b47634b090fcaaa6f022766ca45a4765074d758c9989824a29b2e011b5393e763c06df68a5f3503499650cf70ceacaa3a914445130a1198c9966169bb8eb38ba30297c3cc7eecf95d100c81d1b00ebe41b1d6e2079048a0a3dd5f77eb56f26075d8f20247d2413eb6af7a02b13b4e46908312f65632d0ec5525a12c56344b22c84d0d1fa525abea85020fbfd666c81c55e5f5e340c60f53bcd8e903ef5010baab76efe2b55db625498badc67aa79619c388862c01a5f226e26e00f3206fe00aaeb852a5e190417381ab06b760143bc4912e7bae0698b6f174f3bd249760dd1a368164611b20dc260de6a0eca0aa05ba04db8f101b15691d9cd67a1ef107289e1666e85eb7132abaffb9b3d1eeca308073d69d0a41565c3cca57bc2d47df4ab98a92d21732f11cd5b4f36d73de821ba17a8ddc4ec1da866c79eefffb001e9f8f9b50b9812cd412e3d12530db8f56ff155bd2fbe3bc6f5f4b0791216463054ea094858587ba47f0873a11fa8d5be1beb2c6d7becad29067cd7b82f20b7fc95735adcf21747544b41f512c1b5182c55567834a0fa711357950ec1305a5a5868b9dcd22909da9898bbb96d08dcf0cf128deaa9aff9ce8f88207f2c94ad5db9053f348a8f9a91b3ea5daddb76b49caaa63322b1b33479cd8bb7967df5c9fde9f59599bcbacb27a065fa091d307cc0428af8661cfa9e96f38e56edcd0e2819652a25458e9998021dc402e2dec3fed77c0325e43e4f96a38f4d679867e74cd8824a96212b4e2d32dfeaa3bd350585af486360ec3a3bbaa2dbbc3957e069b5b50c3f0c8124e2013ed4561a551f7a2ef9b1981d46d4b41f75086e6c462add9515ab39156e52b34319ca48dc0c5ccbf925cf642e38cb634bc737861165d44465c111093a05241338588cfcaf7dc700f7f3a20d4dc62937c0f6cfb737375560082f3588a52dfd8a9fe6397fcc7071aea1783489288ffd37b29c0cae9816f9168c53a4926cd6b8ee03dcea8c3a185fbeb4c3f657168fbc22a7cf000a3935a6c191e6f891f475df1e1883761ac7b178f2f80db624f41af9d3543bbe34e4f83fe640c7560f3198122d268f87ad0cf978ab0545172a91f5320a0260923c7946cf842930687bf2fbdc67de914bdbf9ee263a446b1ddfb3546740c0a8bc11db51bd02cf11dad8dca6c3903b396e229f8cca96adfe0e5f5e3807c162a3de645b222b7f3f1818219c2c0e8ecd84bb87a702b45c0de870a98a1a1e06001edab18dbb32bbf2c7f0a41f7fabf713fd7c7f76a94ccf815004344836f599b7a43bd10a350d1d4a5aabe4dcb9085ab04ce4954ed534f4f10384bbabd57c60d626710a96209560d98565bf869347ff2925a85fab2887851225f65207d946032595187c3a64b427011afabf6573393e080b6381e27ae4e64f5726f425c54d23247d3bb0cdc9efe1a39f11e1cd96e3eaa056f47d1d502fe84647ccdf35ce241ea6553f9c08f0ecebbcc89e3e78dd4a41d0953aa075d9bc825e2df9dd2dc2ca35a28adc1d9228b794ecc075ba44661c1e21d5da8d7919ecb40a4440e683d1512dbd720024a1e277b6a29a31e8202cb673b5b191011e2967be1303849eebfb089defc6ecea2bb1d0a3df4693cb046f2939824380a17ca2b5e3896505c2ad298a0ab2c1cb1aa971e3be9317382b7a89a6bbd7565e9952515a44d95f71ee40fa4bb41b8f21d0e28510bcfa79d66494de03be2d7070a653f52f33ba35d3657038128955494f9d02f3907cbc6d22a192fff379463ae10091802f8e2cc0aa2d63e4b85498c69bafc2c4fccf992e3d7e224c89e9a850712761f80c5bb097f03650c3f4528eb9cad69d43819e546a0f1202b28dd12653136a2e90a1914d208364991fed12c9ee1050eac19dfe0e5436efe5560b12cf096d294f2a89723b96d4115f7b0a6492379781bcbc572b224020b229b46a2d2712d4c67145ba2029646079bc46cd8364a71f552903b4517324748bbb20871b32044a3d7d2024b216937b38d66cada94ff3900c79baec48ec96356e9a46df6ab087b467c076b0eaac963d83ec102ee54ef1d04961eccfea6d44a7d73f0bfedac0b065e4f46561474154ce52cc68e432e9f5c0086cb448217e1a5a43dd2bfff4641c331b8105db773cf6c5a80156bf6515f60765370121f0a82a6e23878523488f0856c9dd670553dfccbd41c318ddfe36b2865036cd7716769f5b2c850b1fed78554cf8f2d07baf34fa708cf437b927d6ff4554355567960b4db9e699dddd5eb6379ecab574031edb044df3d5caf10d23d555f606f4966d7b4223a482611bd09374cec62942422469109c61e6f20f3dce038f511c171ab969c5b6b82c31790af16af715e1d74ec66f7ff4b3262258f3b6050573a9f38d642315c4882e7e61419c7fcfeebcf86707d2da09545f985b3b6c1d534cc76a42ad245406034e2a95d6e1c0ae58616b32f4a71de67da2988e5c539a1fadbd1523e73ac3baa765e50a78a050cfd790e664bbab28b3e64eefc1be5ffc142c2b4085038e171ef263e7a2d1b40bc0e080571f286889f96e68a70a7d09d349bb7bcaeae145b2af53708d8333fd66ea7e224731d94c7acbf63b0374275304d65c2b92309fefdf497da140900ddddfb833d2590677eda781318ed28cc865ffc7afc99c729398d7fee2a55b027dbaab26ce43728a2ae07fcb02aa38dfc83805b4e8c4922f5842a0b41da77e6c74ea722d7162b4e2146b68b1385a7969c53489d3701e2c55b91b96ff72d83138477579661006ff4cffcdb175bac970c04a9720c0c404c36318963f92588e8a0a35b3e507276b27a88a9631fcceedcae6481beaa8104738b0ea8282114563138c1f3184dc0f1b6106777114ca0d87bae1e48b4e71cdfc9e8d5e61a93b13b76baa174dba2791534da2156a6a4a80323cf455db1b7f374009610fecb9e2d7f05d803c52f44ea39ece17045c539d6421c0a728cf320767cbe8210eaa8749cac90af17a207506a928ee8f09a924def03f63bc25da39a5ca49d95c70c7d1c6a8237a6f0eada9ac15ee02f8d3e0ecb5c169f6acd92df143aeb802f52647910d8649c628a363d36548b3ae3958d0a5fe6fbe8398f04ade14bd02896294ccc41747811283499f8666019cef52a3300d998d351190c50605fcbbcf6ad10ea80515d7ffb9afb020ac40550aff25f892fdfc7ff297b6ab6702e3f9771510892e276ffe5a62cbf80be51bd93822de3f979c830bcb9161cc247d33e10653e0964260cc090b852384af6b6d9279ac3f39d7dd568711e55686d7ac5f869a09435de4a3d6563d7e2d9fb01adcd67b47325caca02674e3017e498d88719f4734b259aed04945ba04d8eb34089a7368a38630936b563053020833e6768cb372989b2565f77c7200c43fc0ee99ef8b71ef868e95752d87c9293dae4a90caf24edd1ab1b8d5d4b53d6c8820aa8d80b2e48edeb3815ba1069bc34ca3337c89cdf53bb8ce6293cfdf1c91dff089479f163cf707b50fc883b2531053ea418a26ddc1bf64dd6baa241a52549b6e65cd270e6a314b3f1c7b8eed57d74ead2026332a2747039de1fda4802745db294609c01aeb5abadcae05895ef96c5313f615bb6f8eaa50d8d3f6083d67aad038590dd6bdb8cf3b49628fb206996bb821de2dd8fb19a9485952b65cea67ae89ac7d3b0a147dcb9b21263a4c7cde704dc9b161fa107b45c54e8f06cb7a31eb6163302f96d92e489797507642d64864d8bb6060791c3ffe0b75b4c5e0d984963165220aa7022608da15797e27cfeec64c47f1acc45376ffb9e5a60341f1e0d21355ab4fba7d0fc83ef238ed9775a187a155f74fff416544ee64cf60e80ddbb7789c99a2ef669da115b6fb84cf8618c7b45f1f5f7932793318f2632f1111706f901926e4c6a43fdc492b2b1ed68b1e608d4feec014280f6e8cc847d09d8921d6dc9c4b3c9b6d668b74a55a06c3444d5934bb7f032d227009f213da249d4ac8b1f4cc45857b874c0231b3511d1d3c69482db31e2df2f3d52d066642b06a0c2e47ab4852a72fb4b8b46b66a3c672ee4f905a0e55a85e24307068555c05482ea0e10aea8756153d00652114393fd062d0d26ad7ac6c8b1202fbfbd0a9bb22be899ec8d117b49e61ba7812df2f34d04c61818bc6cb1e61449ed4f1f13e3b7165b82b0c66adbf2550999ca70121d95074ab6af5a5641129d7518dcf2528e961c04673bd0c5d4ba82f2976ef5c292692115152e5a1913e0918521d96242d67c77435bd13f7e80134e055a6ccd14ce7af6de02b9151c02dfeaaa3a3e9bd6ad697924b6e30b428e42f0da88fec2b97b6321ef1e1e5692e083cf74c14decaa76a7946b8dfc748c858477e49ae1b55e5663c90e162b69daf1b2330b0d746f65b2f7c9d0dafccfa124678f78b1e8a103852d622d359510bc3000ecdd09f8c48a5cdebe123cf0d85ab2adb08c35a51c20f31de250c3b69ab6eb0729172cd93c74df1039b07f0883d64c53080b504e5bae44c03eabce43a5e5eeb1f0f0b377c766dd0910b0e6b6b97128138017bcb6521b42ba8cec1afb5df3e3ab14cd986f18cc4f6a24a0b6815900e4f2e40a595cad770f83d0e600fdffa96b066107902d70adbb58fc75289d799c5edcac51ce697995e4e8784da554bcdb45f3bd92a3700f3fb84aeab177546041ad88d907a7df4579ba0457cfccb841bdfb747028a851d5951ba3e2a7f546947a773e3b2d16d7dc42afdb52daa3a730eb07ae26fe5e8bc5b0742c2d4c1c375a65842ebe54e5baf04febddd30615b47620a657963399a7a5c9cb55da35ed498ac7156a750c9003fe5361b03de049c3a251ee436a4c10504d7cad45386b8d2964268cc3fe3474e2c9407b2e09d2e1120c2a0a3f7a13b9fe9fdd612bd111e95371b77b5a613b91cda38d453ba02ccbf5678ecf059d44ada2767759c76bace45138ea1ddb7cb4dcf4d4b6397de6a98ef79f6542b9b5ee10a4a2e6f1cdb577cb8368426da846e541f52be5c2efe89b3a0764c0f4dfa4f7329852e8b204e4d306965fe582bd93674db248fbc65e1fb654a5a1c8c9ee32e1e58eb261742e6b4d44be1cd6d2f6503e7e97576c21adebc04cf86a5f1104e54fcd26ff0521694be5c5c0ef63311876ca34b29673c9f9cf4a47b6eff28a0caa5ca8ab0d00957a241f441ae8c5ce5f577f07433d65325d4452506bee46306898142ddd9624c7648591d087752e9fdcad53accb31948dc1ef72297bebfa6eed50f90cc624c8dff94a22a1f356aa593218ff71034130f0236b2cad7041fd7cfaf750c5d0886f598185397bd22fceec01f3075ed08ab64be1f80c91c7d7d6d299c9fd0bec9f5007d5b9c150cbb2d586c91b31cbc3d942ae7bf09889a03264884fd8eeb62a0c40466c6cd1031a1bfefba3a405c0ef0bb29af78f08dd792876aad07420e130512bae4c929ed7f66a5234aa0d73719e362da9375608938694126b5a3aecaf9d48539a90021bf0563c4309782ec6633f0363af0fd36425030bf18827d1d7d4e20697ebb7a59de58e2f605d79184251df3c6b7d0be66c92f26eb9b6f10d2ca6590dd19be7b0b564c6bd6a8d17049678dea4c704503867dfec5cb2bf571f158728f89fb24dea892f1b03510bde45382323eddf0b1de0f99562ace13107d21d6ba93e9e1783a4ebbef3f922471a6a264316674b84a609d57a6b4d607f9e55c815421aa56445df61b438f7995414843c0c74c53cd1cc5c7e57793f9d445655f7658ef28b73ad4a106bd40f6c5396552d9055ef0ef44c32d8821ee5b9c9ed458bc64a4e83b915f4f777319cb4512da23904d0d37c1c1a0f58a12044169ccced7904913bee8c133293fe8b67645a6aa5d8ea912f4733cd7601178b4542448cf4f1b2006b63ed278a105d0988f61046f10ee4b556a9c46b4bf6e3a3801c1ba07124cecd6704c667e19873ba7025835b222ab7315103a7295dabf72492adb1dfffa500dcc859c4da9b3520824759f615e52321ef0c15dbe41edc3e6fd829ee6f7e87707ce3ca2dde8ad17259e05a8172a41db2e54e7593d231b46ea2942242e3196eb2a9570242f6f4199869813c93e84924af75b5a8120d817aa646a884b4587c66c86bc9b9b16c442f85a375e3b282dc33094913af72d0ec4ef7ad748ae2f54cd94109d3c4a9259999b895a69c7b5b8ad4a01b5dc85f860eb7f2264d650f3ce941a4f35385b7cbef1456f7260913861356275b292bce94e5d427e4876e983f7bc2f6a309f13e7597518e88ca8afb28c9740d76d6b8e2f378ad229a681a59d706814a8ddecc49e8deddca1ef57dc01258b7636e975294794132774d07a3e265bf9588c12be03da3af4cacb954756d97c05571c409d1558bcbd3f4da975636fc3c863f1a79ff1925e54b5111908c337527ae3165a858c3a394ca3c9a21604b31a65909cbe888dca6e8b09ef7f13ece8382b463270c4998988e0098326be8bd9c35f59023a86bc602597f2037344410fb14aa5aef027dde35d7febc5e3dd6d73aff3368e35632d6a85daa35887574cbd5df594c8e24da531367f3a5c221285236b8031dfd34e61cf6f014c0c0c22e6e11c296a4ce4733c6356477b3afb3d59802af6efa06bb65c7f03f6837608fdb9be8dbf91990ee80140f14b6b7a1efa382017f8da27cf5e3a78a77e93a54aea34c5267d00bc6a4e421e4fb131963e4506b1561d6fdf6eef46b1162abf983a46587117a710c5ae689572b4edace5d0dba9ad67483d8a8dcfe2cf5833c8f4ed98688d0b8c579c39a7b97040befcf4d5d7be2462b945f9db5c08a37cff18990b5c87671a505c719a1efdbc0f16e176771b1a8048d3607c214a272451d6900efd3809e196f2e881fe234f9421db7e30b2345ae4f2f401c5240e14618f0309c1b078699fa0e720193f37bfe0dd6c371e11e0812c4f57b437c416300d6cc938c790d765bbd4202340e3d356c96df895e03f868d5a937930209d615c04737768bc06f9df2c2d16e21f708dcfdc57192f9b2a4136d830d66eaa996aa2a89f60efe3179d1641fa2503b33c29a18f2e646a4b5a6ef33371e9d594df9b11a012f97bb95348ed74ce1affe50353fd2a4feec27f7750fe43c66f2e319ac6e09b165adfd785130e3d33ea3c1263b0358205797b8aeaf4b7398e6b9608c0e52b6775b49f823334fb6d435ab7b5df7dff0fcc67b7296c54d4b00e5ae95e76f1361196e03a568943d9b28dae4f020880b826366bd43e1d8ab61bc2984bb96f4c502fa23add421b7f2ec2d410a54284df2278bf806b4f3a8a6c7c735de9bd71bc772aa27b547ec6d2bfa43ccbd34b5ee6a3e562f0f7de453da5f917c4ec5cbf0a9ff4bacbbe13e1789070ce05539724ee2f55ee737ef85172710a4adfef0c1040fa02172447ab139330f7fc2d61497843673bdc4bddd69c2b94723155e0cae48ef0c06f6610f162a6cf7a3945332fe0816f75035e85e466816917c7c45f7cf18ef7fd5deb634859b40142288dbd9da4835a801333f2ca626d97cafb1844738bd9d034c2b3b1b49bf484ee5efef88a5515b5948942dc75c82e806e1d404f6974854270593def68fae86219756a53738e9926f3b9a131484fe7dd8b3810b7bef543212b56df14465a9c10f6a1b62a672493c884985c817ae7801d5429e8dd4ec25a93f1f33986403bba33d688eb8131c6491692eca19a5c3b6d4706160a855299b7c4dac50c0cc2f5675e41537f57911fccfe4707d28e5d68099d8e3e3d0ec167d6ea7d13b854b296a743f3579bbb192997956a33de21107dfcb9cf1e302e9724bdb3710b51afc08d1d97fd93dba373eb1c7e9b4bbe886be5015772b5b9d4c7c320453523b10bfbd7bcb0e9b8465a3143b665398db4894bba09a936ae3a275e76d6fcc5e20e6bf0ca030a4d9f9c6e32f55bfa74de4567f5c596704046a9da89ac851761d3d9c733a3f4a652f7568f7208ee106d6b7de99191bf0d1fa7a2217bc0cb847d53cf4091ddd44ffb7cfa55f4b23d8597319646aabe56034d881e67a878cb5203030476f1e62d818cc486cc5fa820bfbe79064ef1e15af9692049c0788683a41db8f6c8b050b8b73b57db1843ce18c9bb82dba187d6f7f22b39104718f23ca105592fdaee23b12893b0f2de79559c4a1ff805c298d8334da9341339d388f12dd2468e7820a5ffc902b9c32079ebba405cbea3401dcfa3ed26c0196a65736460557259668db267de9285f2d65e87e4dbdba8db7ed50b4cb6db57c5253df00987ce80782a847d06342428cc1f4f8bef1f89a9a8574f788bdf8852dd0474dd55220314cb953e912edaf4c14e74e505a22e67f4fab032984f141c4a62ee0f4605cc632fbf9dc0a8bc9407bd8be3d8126ba8a3daa6b82ac02d4295d33c2159a11198f4eb68b36b52390dd8b3a2d5f6c65d8a090cf65b88b9fe3892ca26c9eaa98e1238d87229c6029e145cdf9704b05422b509a55620380346d502b68d46b83ec4ad0a2b6ab61e9ca25c26aa0df787c1e5a09b309f975c98767f74062c760ddab483f68cc61bb736991145940bded6c35da32a97e05026456a3ef1e1378acbe928c324cde12ef1218d3016e265032328ee3ce06c5df6b5e92f7b623c0cf221aa820cc891780bdec89ac6e01572167d179b29ebcab4b21f49060b648f58a56a8fd81c142831ff68d983657c4d689c086f119332c586e3fc9002e183f2d7429d3aee9dbfae4b9497d8d4003583b8064f106b8c2b68af0dcfe71ee1c90d873381f1e8f368c44a0b4cf38f45d6a0e3d118da398dc87c1878d5d113ae7908e9d993c109260572f6d15972717080fdee617944b330605faea25672a1cf93059f295e350492f5039799d470e7a0ad707a43d0b4db458475544ff2e438adf814e2182ec7355d84ef3d01719a82ea034c33264fffdd4a0b281fcc52563200bb3b50796e5038c796a61ce6d039db34031cfb013f54949f555d8d2763aa609f0d39972cbbc13c5f77d74ba315599a02a55e2e9803f0f367bfe51115fe5d33c60deb0e29b49e3013336974f225a1617482eb6cfea23caf29b962b990e61c3c387e9ef388d5b2f5e3e7cb70d7b0fb814b4a36550997f96e8be7edd67f5ba67ca06ba3f3a959f181619e73ca95a712118d2c3e8957efd9c56581d71c7784d42bb4096587d4991dd0a1dec62aca31f0592f41ad32136fa86d761004835b6714c9ce88e7183b3e0cc26b0d664b7ce70bbd2fa5ec353a9e0315a55f6b0a99905380684c88c6c88d10c7f5bad483ee34dad1c198c4a28e66347d142208e2983bc99dcb34d644001173fd352caf49b3acb3c75fa53141ec725041a813c78e5d3a0289490252aa06a47f12a9a77912222ee69481f15992baa22664815f30f5be4252e29538f5f3ba6467618cd5c7115e845366b5379f77c6806af1e8af1a7f790215c18901ce41866964f8930eb5cc56ff343f1fa04b0e1b0e78ff008ced8fc2be1acf37747044529a79498a6ed0a259df826df106d3a3b4d213d51927f6c3c65a97624878859eb0556daded443b970b3702175baa539d9aaf632249886f6c07218f035aab19814ad2f101daf14e28c28c4babcde89a5e8ad96553d8b3792214405a27a71db848918b773d71b75676d31f72b8a6ce31341af35aadabaa4bc13bf5709ee183d3a4d1743dff20feaabfc017ad4f2f539b5072f93b2f9d61226fe0c085082f8e4ccd81303bea785f07a7b6a1afec65a05eb462d004ca7ed765a008817c4a6f981258b1593b395d78c854f5aff6171d2dd8eeda0ec885fd1b9073d77f006bc5165a0a3d0caea44dbce252f1a43371d57c61526620cc5a8c4a609e4af79852119506851c451351db5000423088e773837fb856ec92d6ebf0d03a0bc3b2bd1be5133aee793047d3a91b7eaad9aaa7b8b1460073d45eca5f9e8a94c67175ee5632bf3007574b4b755f938f468f13adf420923386033a722fe1eb7d9b542ed4e93d4c7e2de0fa1ccf83598609444fa352279f3c4b375beadd6e00082f1c2342ca0f789ae06d31b1e6a982c497940079de884000eeb22a3f9668aa42c3c3a15c161ee36cbbf067295eb3f64751dd05812d8ab5fcccf1355dd40a2fa6d4c68a14838ce1a130f62fe8c79d130720c6444fe2972cd190cedb3d8025b4fb214918080e9dcb0a065f57725bb372d285c59eda1898e68419724d2bec85273d0985f5996c281b68908e15ab85ceab9d34b12349fa9de3ae5ad9f683c12fcf9c4b38c36793b10318bf6c6d9509f6f9978df5265120c5578721e848a8a74f561b1caeb49a220a014b7772e7499ce82c4c25ce968cdadf6eae760233dd72e1520866c489a6e545db99494f10c1999bdb11a4ce5ac8bb5c411f94ac14b9ce02e0e696b8c7eb87a45cb246c1fe9434ecc9edbd655f1853b144968e78f59ae81cca1069ae65d654747b3c7492c3eda3dbb8b2b6c6f3b2965b55a59053c1c16bff2ceda63e6997e539e1fb791579cf9b4646cd611df695c80eb858b592b388b36231807a3de62303e24435cb5047c97596c7125aedb65d30f0f67edcb5baf676e2a582a8ad683c0457e28d0660c4d74a43858db8c15de7f59013370b68eebbe34bf2a1d88cbbf1723277d5c4bc8fbd6d069690ed671efe4e9691b57d6502b74cd90990d1084a81ab65169df4bea92249c4a8c4f118bc3ba5019880ecad55166d5037ffe8c9225193ea30157a9ffdd412274101d72503ce0dc46b69375b56434e694f7b5690d0be06e21b9334f493ececd2b2802fcda0ca8f6b215fa31609f635a8bac6a2bb050481a22b112d33497de87890ef4fe5b12038a14e605e4f809ba71215d6a0bb6ec89daaf3862926734279f453e72da98697cad627e2273e208845f9466d5728c02c9b7d0b397879183763c9a494b0ab3d1df379710e90ad35d968d05e90d5bac9c6c6bfe8eecd6ac2fcbebe8787eca2baa9eaa0e63314d0a1ed5f3d9ff9bd566531d74b45eb6145f8980d1e505a8661b7873503b523895acf92b569ff15653a770d7bb42268dc24c964ee1aca1b2cae146f00a4c36603ae4b151c42208253353e5ff1cf97f7b38d3b9bacae7e5bfca02a5847fd8a3f46f30d523ecd170556748ffeabcb35c8f76e77d0553705e4e3becae788e9a6fff6308408f088e580722e7e94531b9d39c77d3de44533d26bad21405e7b09c7efeb79cccc084a3d2499cf693d66c0907bb157358eb0bf114a8e3639436cd01200776fe3b9d54d69c922c87e5c3cd115336d169a35b11f27b1bbcb28fdbf45ce6a322f133ccbf3d7259b36cc052bbc4a7a4118e6f3037ce7076cbbc38dee1c4319c8da81e05b1cdbc674cde3063484a4a73875e0b11dd7df1a7bbe8169ae383a7866f10d8533cf251b44e0b3c2a885f05ed8cd82fa5995e78f4ab4663dc46b68daa7b07d04b061b3d3b720643151cb7cec5d790fb1bdd970c3574e86a4897beba001269b14121ad79544ae77c33fe821cc7e590006eb4ba6cf1b28d3e2f748f738d272af7734c204a30358a4836c848aabf42f09a59a317ed4b4b2c7f9c7c28cba5a81de30d1e915825a017a8eded66ee0e2d864f03669a40931b5b453390eac384313a3f11e3073b15411fcacfbace29fb31943e5438a15e59d21d10c7e74b890ece7a6e20bac4aea6b4eab97b66e7f4d1d18648779d2c90c3c177d61cc7fc2c2507aab3f6d96f42656996fe3cb741e1724a8fd757e5f3f121390519a89029cfe5596414e5657710c09be54bf35e2c419ac2a9909623588aea0614099749e069a5ac40a39e92ede5b612739cd6faf345e0304475a59e9783bba8a0c76404e5b308595edc8bf7a0dfa77ba315d1601b71f4b99be2d167e74a928bc0a3c79364b10817320e0811179064259c1da06004ba6ef253e170a0e7a7126d828e9d172dbf5b6148e2d1fdaa262074de331371b594a9ab9e7a4cd557932eb31bc2edd389a6f591e75cefbf13ae456b662954ce2ad1557d67203a60891e3b10bf9ff4ea3f65a301ba4d4994f271d62477009565032560e89b4e19a5c64d3ee5d8102e46b0d884c691c042b0cef87b4df3302c778bd00fb11b1488a9f221ed18a038c47fabaae41a3881a9cec5449bc25452ef862f4ef5fcffb54358724c778481d61fdf19f0f44bf54a6a0f9b9ea4394cd77c563d8ffa937622fdccd0e830fb958da7628037d0a9fbdd134679ee1635d59dc7c8ced3c56c49183de35479d29edbfd02758923534720b66cf7fad1bc5d8952979778a2445644a23ee698dc85a0fbfd5f6ce2b2617bfacd53ee0f4483205fd99dca2df68a564e757bc7f43a3dfe4b02a15f24a7bad52f9fe4a08956de87c981462b1d25363ac5f97cc8bd1833f618b30e56c5ee5d2c3f4728a525205458f4bbb3dd19c852051498e2c419c106e9b91a337a795ca4781383b5b2dbbc60e49efbed67392dcfff343651a20d4b12837ad51ad8a7c9291e69f6f4fde545ea04120b42fcb0c91f084d388193d20acac1a2857bd9b252665e33c8e1158491633635423f272575eaf0b606b0727d1a10528546fade278704fe527db4be0b9faac8ca5e83471284c653de8d9fc458a6d9ac55a01f5d410b4bf680af90e3bd87f066db0edc6dc41a9081cd51bb31ad77934ffb9fc999b4ea6cb60f11e91143c30c21305c8dd072b02cd73e4c9f606eaacfcfff68cc61d451deae79b78a5822e5fe7d3c1b8b05d761e679ac0410f4f286746aaafe7666fa8120e174a32a3154a2badf6b60bcb7a32cb1c1be066f88a3e91a9267b34d5f283815ca493fd1005e9716ca4b5710cab248fc29a96e3e50987e62e5dd1a55acc9101162c43f711178c44f402d57c74d3dadb4df75a3ba75e79c9c6549abaa5e71d067a0c957c09acc4db2a10ed8e9e7e7ad5a765d2950dd74b053ab3be33611709c16160d593c746458dbc5fccf3efdf5915a3587772b015c8032db63b6af9615605548ae604eb7088890759d981601845458360703eb8737b1e74af6c6eb22025662a1eb7529aec2e7c5b81216365c70a9798465a80124f796772ecef43e8e07aba11a8d9f29a348b994afb1ee383c6420fafc6c7eef04c157c00e48368b2793055e83d6f288b65c4a24d773df54d7a998f036187e2c84048775a24d624eed1f7444c6ba0ec92ebb000514a25aa02e63e2c0de0cce3f0f78b745f8de244e13015e3cc60be91db4eb85639bbe4897553fce3977763170c18f60b8cf528d3193c143582b0f93fd53cf266cba379ac83b1a981e8cfa7942c7fd20b2d8663c548c972779778af5fe002e70208452e904946f607825190d42ae0147fcbbd139b3066375d566074c90f89b22b6baf272116b07c34d61cba4c14ff13a8e31f8b84aa826a6df5dd7e2c6a59b46bbf71e055900dbfb9d1e44c6feb7b6b07b2f5fcf07afc913726fd435180efc9130125d228e0b0ba2fa8abca4e1affd25186806d38ea237f50ff75afa20d277e59fc91617860fc96479b23eaed7b655e3547b42cac43d796b0102814cb44becc0e2b69762b9bcd385e839ead2b98fa38c1c195916e38209da4ae89665b05664d81be8eaf52f8642fc1d24bf3884fc80022ed1689832c44e74e7381427975c4510420a4d373b547d7713b0258cf6219ff295b610c401565c0a2737dbea307de7c9273d40cd32e9f45f9986c81c814c56eef0484f5b25f856d66f66b02a56ec14a7f0057300d9fbb904571e83cf5f6d3eecfbcc7d7b9cd76ae13aede8322c6c4826025195959bc63d84e6e3709a862ce06ed195f39df556cca40567c69c81a5f4524751e20817cb0743643af1dfe8de55598b4e8c08f543b9e020d59569b6d1cef6d2b9d43084d7bee983ff45b856cbc21ecc9bde973923a9643dc2a894a108f8f1210e4b6e0941c14cf59875127c3e8b4c9ab32c2b0214d8fcbb28f4a47e434488f49b07256335d19f6d3a270422b35ab44d8bb88cbb2ae759c1111fe44b29ff7294b6edc3fc8db149dff99946621204161ae84b510c8c6bf334c9a9d0f3284943db91460d5d8e8be02e76354a84ebbc5bbc899cd7fa6ad6b6cc120cd9ebd03b3ed99032f104cb85e713348da94a7e9fdb873563b706a2b9fa3edf54b2bfc29f69dd288c800f544dd6b14c91c8d4fac444b7336c9d8cdf3c6bf529519dd8f8d7d09f5a55f915f8044dea371f830f6f2afd65951249206b02fa9f69aacbdb9716b18f4a5d983e4f5f67877f13c6ec065cd1fec6b22166319c13c6201c0f96ab8a13da52aaf6de652de936b94ac2a2434d91e2503bc0b85f4c191a9356ec9653069ad8f6495a25d027b543990d0323f2eb94ff93ae440733da3e6879585531c844784c4f3d20a25efd7dcc8e9711506db45210db3b37b22facdb8a57879707077d35d6538c3c0f754a2b70701ceba838e901dbaf78943f2a70c3fc98ffdd70f4cff096eadb7626fa1513b23b523eee2a86b099dd1154074c8c3aa4cbb8fcaab2998154ba87392725b058179aba4fed6993e667728994e0ccae229e0ebb35103f0d347e7525cf00850d53904db116f7c8cf563b6b0ab7626acb710da13f3dc05b08eacb7dd6f64c57706eb6bacc5de758a97efbd0a0afd502b9f35d10681d7adbab87f0c5ab8a197222e56b9dd1298b59ef564254b6edde8c750110a0738a1e0558fec6dd82c427d49045626744c7fab7ca6fd8c91481a2261514abcdf66f3bbfef3445907d90c973a5985a4b4ebfec4a4456153ecdef3d51f36b71f1e74c9261744474f8eab4419bb73095d1a021c3556df41f3ed8fe05252816a5de2123af7a06b155973167879e73011e52892a9ddb15dfbb9db076506a9199d3d30a4f307edebd5845499699c6157de2b39b55a50097269c6b63bcbe3cbf4aaac3d721f0f99f0005a563785d3d67fbc53e367cc34c5927e780e97282a0a1e44fb639966f045240f8bd48f0bbbf8035cbeed0e11c96b1735a0653c181b5f2011d1d51db85c05c2a24bbb89becd5d8c86e555d754b409a310b027315f47ab490b432d8d1003b69ec2198a5b77503285df2413c6cd6db46f7fce5a975290c3878f1634f58a4d0cf36900f84c009041c8952dd2502e40f373e34f4a4449f61e221874d2664f0651128139948a6f30fc27acfe8c6e7be0e572874dd7d8f4c62ae41490b5ad961efd9da4ef358854c447d7cba31aeffa8dd55720e18c200641529793e9ed1331bc29a6fee80157b8a876bbd8bbb55d3ea9e696755e8766f056dcd494486e4a03538347b52fff22fd03f2dff2edd75e3b4da332e81eb84e68f5f85bd37a4b53d62474bfd121c02c35872c641a72c490454988b2317fb57dbb4fac73415be17a294ccb2079e4c6f009812d8622ff88e409deb88b5ba1afd4aa42be04fef254e9435be8b12a434b863abb1606fdecb4ae720a01eeb5b43553ddd36c2bd96fe6690f5e83246122c6e95790524661144d0a4a9cc2c3d65f5cdb3db94cbad2a0def2acac9820fd9e9dca13b5219ad8d9ad500fc20b95f9356ea81d20b3ee281e2007b230345b2fb6f62332e0d0991ec8c0459e554a811a875ef354299083d7df678cee6f9f6805fa65935cab6c2497671dca18de680a561989d0bb0451fc2a3b667d779f110858e4b49c9f03951d494d73c8f6efba852ebae89a9f106daffe1fe4aed4163b5c6acad8df2fea2b6f6d07a9b5e06edd287253ac3ffcc372f33222f15c89b8c9dbfcae2037393678359958d07d719ffe5cd75b080d9cf6474214ec5c6b697718428b5f1cd0f418fa37d18110c52e5af13c64f03146d0f38fd331465098f7a7bf2f1c5f967b469bd8164c428ac8ff5e0ab15ae42ed6f0c672bd0cd64dbc8f1655a2e3ad1ab74b294d0ba02145fc278e2534646f39ffd7201c652f9308342ccab93298602aab019d5307cded8bc7f7f430d153f8536c9fca61da25cab151af01ef6a9cf0f022bc857ac12f56ff15494005d8654f8cc35f420b6ee84169ad9faa7d00a1696d3ea293c77f7440e0d36f6904898397d7e4d8c20baff4cf82718443c0f9d1a5201d2e6e15e44619a17fbc206cc7c84a6b9dd5581d1824625a4d5d758ff4bd01545922f508f05b17bc0d32cd3c6468a27b07d6d10558a8c832f9c9746a5105541c8e7b9d2bb45b6d109079601ea6b00bc15edc85dd93e7f8aa4640279c7c0f6448200d2f322cb94a0342db4f04997ca8c2246d56cdf7d698a7696049c2c4cedb42314e606eff4a8822fe9c609acdc6f9a9839a4c2a30a2cc6dd8d29ec36842f9bf45a35dd0b7df72610eb75a81df27dc59bbdc5b705e1f3b23d3bd35be3e6591ca576d32a0a7e9750788dd48862a3e68e87a0f06a74c2926c492f0a52573a97479d784ede6acb0fe70e388c3e2505d1359e6f2147c67fda2c6cd3398acc785944188a4fc974b56c3d7dde8e3463eb3e8d27c4e3c82c87a488a8c1da6f301f1c1c1ba9fe4a6f0aa836150a8b40355eb0b3971dd8483b86751c7d96b3733101c623d2a45113be2f19a8aa516d6e33b1b277394196347cf29b4534b74fa7ef3f7a64259b205685c763ca243a3ecb6086135ae1fc5da3e7271dade8df62f7e09b635b5873f8f61f69cdcee0ce119e4a7f0f371dd1b9a56bbe3c41f2d2ef73abaecee297458c23e6de641d2dababc7fe82b610b4b20466c90d29eb03aafc1e1e7caaead3681ee09b859bcdd7128b61285dd8ad81f7647a751fd8b198444244a63d00e0e58c8e799a642064bfa01cdb25e89a4c4580bf159da0ccab5cf5b63492352f4843454d531c8dd72291f860371692f5f42a56f09d03399b013b7b6d02670fcd8524b9edd0243614be3f95ac58afdc26ad1a219b9abebf65a8b84cb24418f4c28eb8d37dc32236304331c68f7c24c34b08e9ea02bfdcc6d53f167072a52bf9b0c6d8a07dec08b81516e6a367edc5f472ea909deff39eb388f9a3a2065a82d9b3b62b23dfd694eea32858d9f8ad0b33e66759b5b164facb8c9f533228b6401bbcfc489289f8804621cd7686b4569f84c09f832bece6cbbe918383ce3f08ae3ca4de2ab297bc0d99456c9274f3acea50c98e4ac094a17d9ac7d0363a8e055f3fbc38afe9a15ffe7cf72e2b06d2a90564c41c70ec8846161b389ba8d35e702c4009688695f0ef6f0b74956df49c6f16aeeba529da6600620dd1cb5a8520c7ae5ff0c1b2865b76a621746de1012f57047a14a6df86bd1a89310267699d20b06e40b178fd171937ef905a6aef72f27466a971c9573c959fc0b3f7bccb6db8f9c82a0995ec6e5158b7bddf1927b3157c8080e91db3cf5ee487fa3b3d3b090732fb191d650f0ce5cc3e8d27f7c6963f99934da9038984d987dd07a0e822a03ea7fa48a14424e70fb3f08dc74c256d94d92f235ea50be42f1d1fc2242f20c0cd925b06b57decde2d461c43c7a118caad1f7a1579cccd392830a999d891faf0d7f5e11165f03fea78a74d0814d591c286627804711e8fbcf27ba253ae493b2de0caf39309e32eaca7ef0c53992d3ac98af42341a1121964dccc7fbd25d39bb04838c134a6301ffdda0abce3be5867d3bf9bc6393cbc5bf2970a9bac3d3769ffbe1a4654d03e299df7dcff84162bbd61b1c55a183298835525fe9f15d5f44a41eddafb225a1d0be3cb998db86a792fa504cd8163ade957201da695ee2e33f1205cb5f48c70291cd30682e436d44f97f3eef9bfd7f562cf2e94488d3d1a010f169d1a6b520ff401759365e8926e15849fc830fabcf8e897c4d62679266b3627f17f8331ada841a98fa102d0b306c2801cec09cf8eb68d0b06135d9fdf1ecd6fce3c919222d97d544eb2fda168e396e57b3fd8fe437188f80dbff0178a9a5433e4275ca0dfb970d001dba62c7b2eceb2cfc2746b57354e71142ba90285711ab520ecd525c2849c9d29e6d1546a8e91e7b2daaf89031d5204329e9bbee92c72c3681bc6eee2d5c84b9436d7726321e7439d85005f7595ed7b3b8494bae6f9f033fba701792d537537511f9321bab375e20e6482d97bbf4131ea7ea21d33452266af92622f38aff711883b058209657ce5d6953e2eedc1b9f6140fe67e864bcce404af7ddc23a31edf931331af9ee5185ed05c4de1012d6f5307d312771b2a6f3add2472daaa6b632df9803a2393b3c0f7c89c45865e70682d1d54637966fb3248961d95adaad5db5ed6713262d948a02882b6c05af010d0708eb838138feb7751852ad68afca856cc3c2e0393e79542c12b3b10e0b0a791d6a47e7a6c3ccb1f5a77a2ec520c3f48cd0e19dd64d40262a7c860f6e595e19b05615490ab88b9ed2de3d79bb0ed3ec7db7c5348187ff2566246146d80a21a495f43ae836e2af338b2ea3ce0ec0dccceb643d43e91ee449e07177b49fae97d42f0c669f56ae28854b218772c6d66684f2fe5bca9e971e7d0ccfdbd6dfe0865474e7419c53b9e3ccbcdf4c3ac1e47bd116c962b5d033c322a8c4d3a74e3ab1e5549a1c35eaabbdf3ff40dcbb66c5873b78701968069bee8c2fcc7a44a5f57ebf20d0dfc10b7c696f9be1bbd78a854aa0ac7814a01b8bfdec4216b1b715b2ea61879258c822347c32d85fda42c4f66f3e97d07176e058732a7a010902998e8cfb9d661d99380282f289f7bd9207b8beb065d7f41fbf5d79df9e120b8461ca43c3f12e298ff5e9a737bf7e5ae5940812515d1751df3c0deae9163cb3f10df0b4ec63cb9fd59762a3c7ced404e01ad6d4faa4c645de1c785526ce28dc4c725adac9c0dc8cb42cd064bb485f4914560a288dd5455d5ed2e003dced710b2ee4bc057e5c5644f7196169450e201f05087fad8d3ace6a7bfac8451bbb581326cf984e0456dd64cd12cdb99b6a58fbf7d28488422b431602bc923e41c15881a23163ce87cf536f86b92381039224a975ad5209122a410cf1502254ae7bf7bbabe68a1fe253e72aae6956bc7680ee708d5b065a5bfea7438e9384ce027145375f88212ac22fba56a93bcd9d70ac897982d7ddec654d5c085fbbb5c3c6f6a375347a0a23d84b02daab5a0a1796fd195c763de723f6d6fbd51320d78ef6c9b54d4bc44a14f57ef02fdc3144125e08c8230f177cdda1eabbdd1fdc1dc99f018f4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ccd9984996b407121ed8cdc81d0e01dd12890b3b6a7c89d1d520b94267c436a3416ee42a0f983e01789385ea3d645c42cf89c7b73f6073e68a19c1027c73e90e882f8ad52b22877d2ea866a6b2d6d852b086041982694e624ab06e9d3c116fee83ef38707f8ae88e96d3fb56a6a92cb78a63a9f4d0f0dbc6b675ed092d4159ad183d088587eedf0730a8494f5c4d745dad7b3f1bc9cd9b0c6fc55325f746b71534aa7cc3d4ac0c0d7150ed1ce3d054e3c1af6ee9b506cd46284bbffab401c5ab5bf3f00497c1504d36d33738f7a81612a692b73a4a24234cc7e3cca2c201b54b2b138f32ca57aebcf2a5a90c51b341a8af97fabcc41f8c7e115f6abe1eec3388ca17a118cb1742377d80d290c068627d61d6afd63691a112352edfc671233461d3770aa81fd7ef06c4c96757847e8f3175cc4deb3ad573400c1f23b0b2045a8eb70cb13f4ea5639941b20c0c400c5df6ef60d9521820cd9cbf7a6b5bcb459ddbff1a414820c42d81dfa2451473fe62b38448623169e933a71fd4b031df52515e1c1d3542080e335b9b6f8c0281583fa952d09354aab8a375d55f93745d87308db3bbac071991b64889ccec0541537fbf919aa4becdabf08c43db19814abec373f79b12cb1e7391672c8cb5df11218a37529d3dfa6b356a6f9bedb21b428721b01dfedb26e5381bc6dc6d105baefe5c712ba582e265409f2ae0311e238796207ab33707be8efd63d622724529e4089529efab3542100fcb4fe4e9c4308b920a89019f10918107ea2d1616fbe3664a50c4917d617b3d077282e36f1a192743a6d93b7ced3e18c902ed6ea19f23f3d88d215ec7cc8732311773a5de6c52a640a7d2c5cf68491b7c27a23f787637ada86ab040b3e58a7dc6b2d7a6950e3bc1f21e603dc73ca9af049e050d347b7fb891e9518ce7a83b75d2acd551f6ba51bd33346a70d123aaba2107625ef91b13b06838e0f9d776129a459e2a619748a947a8fa3358689f908bf40067f0a59ba34dfbc06d673d45c962dcff063b55fac645f417d54f2936f1597ec9dec5cd87e081442935e0bfaefcac64c4c775748f7086222acca7c1740a68afb3df0dab36b31e0b9c704cca025b20bcc225bc73b77bcbfdde66d4887f0456b69233376764efd17e9e7022a1e4c94996500d129739ddd074b18e5ed7273af2b0cea2e50ca0712d18e9da8ca465b3c413a9f2931bbb581474eb8a5cf1fa43a30bb6067b5357db28da54a0f5fa010dfd9636c0f7f5cc0301ecfa75df0de44d77ea6327db4613fa94eed9f7231e53163bd8621812bb774f7e7d40ce20d2def717cd5aef3984b51cc1d129496b804abf63b401eacffd6cd0b17c59cc5dd2610813f3c34be1f16e6cefc62f913ad5161d64f03f868ecd82b88318598003487a8d9ca03dd578d243616365ebb7d2eb436cba0da2d1587ff1ff1c22bfdd5fb742c65edeabb3262a0db8cc255236dbaccb17f2f65800556c8c4a339c153e8a3aa59490ba725043e75ec0f62b6c51d5da6fdf6675355c9fdaf6de473301224b042e049f83b326c57499897eb3506bbfb90602a62a8dcf2f79ceddbeacd0fb9d8a83bb4d1290e45427e7614712ddbfc0f4b45f2f4c50eacf4f2f1fc1e3b551ed3eed1aa083438df1ace38a683e11b98520a055bbd73b7c119b688c043c1345e155c94fcad1d17a3eaffe36408e296ecd6ff98012a266367e5e58ca8d6d7f40c669bf51847d751cf550fecfa133674a55dc3577b32ec95e0347ea6ccace684548ee69a985c53c934602f6756549baf8c20a1f14f20c3a9c9a86cd0f0c6e0aecbb22593831c1ff14c3f4483f759e1e60d377eb106bf5163c8a726314539c2a21c86d2b305caea182a061c01fe637b2f3d2a65ef640737942cfbb24107597b27bfcc47624984dd72aefa9ffe345bfcfc0d004e404bd668e533db78f6636a99d65fc11d9a76e91767820bc613a51921376eb50f191d20a093656c1295b25baeabc5beca69c78048323ae89a11e275fb6fa750d1b1c61a5094477714d6b89928b2541c2a5e0b1971a023aca7ce9a95f7c14ac125a9afdade0e712489e4f92390f0e2fca7410230e711c93b14cc7269147bbd1afbc16d23efbe5bc97720fac46b5e7ef55c0e3b346a51f3642f55b6c284f70e46e1a345ef31cefcde1b3f9f1b9c9e805780fe5162aae574baca9e04a136ef85b1bd2df380392fcd0a011c543da3c825e6dd6e6945fdf874974890e04fda442398ede67042efcdb84c77c6d5c624daed8b478d12bbf40b0c5a71d4c345c29a6c53bc05865ca5b7696eda3a2627aabe15f6ec5b3db4472347b7a2f2204fd32163fba6bf20fb29031f811f869f362caea39926a5c7c2b92d14a16803b615525ad517d79ff42c921a9df1c628897e79e8d81e2f1d1dd36125d8d2fbb14159b6a777b3e3012ab0fb5651b372788fb8b017add42b5f3fc8e4934af2c9fc195e81a23848a2c68b9acb50a7fd1fcde2bafaab2e5da70c71861f29f010689df83d4ad4cf9268a2940507cd4da416f8892669c8bafdf4fa0a521772bc501facc879b488dcf68768d46148327aa9aa648f39d22531875e2f27c3b87ec251b986aa50865a73521a0e5fb937628bfe742cc790a33015f76eb653e95347322ec860e8fca2d492fbce381ea3a29bcfbe1b5c1fa4a709c0cbf356fd3e21c8e0242f50ad84aa59f0dd31ac8bde9ac8bd49b776320d69f9d36469a81a0630cd91a1883b32f9399180e249c9dc21ccafd70ff22f30e4a79892260198c2aa41f7699ad31f1e652f7d4b42b9a30cf951a32602c5ba42f559f7ed34a9ea99ecfa1da35d5370e00cd321bbf3045f7e05d65389406d3126b53da3d65c9cf871f2be908aebdef42921ce515e8ff7b9acb09e50120f313e5492d57991726c253df1543b88b1cd25332f434d65fb0860be29232688314ab509a1169cdd1c833db6197fdef02dc9640d8b05edcb50724c36d2d64b480aeeb45bc307aee226e4e898a6c3a482cd23a3c219807e057d64b37eea079f18bc0f5e83c4516ff847ddebf7fc171b53122ab7ec1c2acb9816100a57d3fc4bbcb9511caa27abb4781753aa58501352b6dde7837d1913db3fbef70e056b60107c73ddca25b70ecd9cd3c6f0b5f1b9b1c4e1b30af0857660847a7823881e83a42a1818f0949d5a6794d79a67e64cfffaad4670fd104a578d570c324c3df642a938498a835d299e6aa2fe57551cd9e2a6201af1211a46074631f00a107f29b903ef7d6f40b58f481bcf570075ffca24fa587b18a545b5ff71d4cb487274d10a9b0a6609f19acfbb0216b9c1460d07865a1bbe4304782b943a5c4a6288fe3efeb5c7036f6a1017909c7f4c9ee216bb45f39159fd7acf5e53ca5b86ba05572a8a6075fbd5b47ba7802c2b0482714e63726178acb3855a27cee41001309ddfda0c9117b5b7b67908c6780908080c73f237644f564608655790cff0fb17a439e1534768a44f917a16c68d130b119dfa2498db3d9634f68ebea9c78dafd5f2d2ae24c48d62f8321c2b3fab8262b7016f8a85cdc56b2737fd11d5802665bd57d4f658805cbb51615d7799ae7e30c1761b5c899d62730df8728527e9f6e954ad27316efa0437675c817c3af3757bc4a45ded9d0716046991dc1b3a8ec4bc33f849399d50e018b15bd953683cc3788775f71055d34e346f6baf4b93c9a81e39a895e8b067f6b523f56022eabdaf07bd5eba4df144546ce5bd3614e7145369310a82acd8c1b71b2490676f8b2ebfdec799194c64a88168ee9e3791691fbfe310610474e46a13d4c19e7b78cc2a9c430bad15b664986e78607b98ede316064ffaceb99a87e9523b82de0e7125559079890a96bf5840b0fd2f52a7f5f8dabb1152fead951a04bc2db6e7f4afbf4c8ee7be8dbbbde10ad0dde174da6b0debc8bf0535e2791180729fe8206cd218f752ad4e8f11d8a4cf6a333d82bbb0eec82221912fc9c861662de070e2ab09bcc28d4aef78c622cf8057ec8c91e0c26f7c866fa70e333db54b2cb0bc4f3e826dd15466f5532d36887f78a5b31049db2542e1437a26894cf67a31751063db992791b1e889b96c74c29267e51664adebbd5fc9f65f0a50e74b0f8515702a47d26e11826e69801250ce3f675a01d81cb16aea9a01fead8656ab0de558bd50e7d4e3d0b3077b7f631f5f93034b3403e8233075a091149f7713b0faabdc3e258fb0b078a13a45b8bdf4691dcd9403db6618009347d82615d741d073d52850009a395fe2bec66bec8d8bfcf34f076dbb0b936f858af341a262bfb7c2ff28a163f37e5007d8dd5bb75a4c59c0e2dc9a28582436930ca35e6ff56cd74927cd4190696ae947b04ee761e4d74f108fc6c08d6dd96b47894c133576a0ad06cbfcb719f72676aff5bca32f6d0d9550031ce39089fd733b0365e308f176aef7f7a55f09391d175bc42de14cbd892031cdf65fcc24389f57e560c38b35f8942e292332cba96d31a491f7d8fa46edcddddf58c1cc725bd5f0a0c731774add82d32bc142c974c748e1c1f579c14ab6aea8c0626f82a012b9bd4bfa8705c218de019b312626736f54e6c453591f2c7c767d611e0791d6b2ffa7ce705a7cc5241279b63c3ce2301f426d8d3bb2790953a2e2d4477fa4d35c5796f6a679db60f2a37fe9a7c1df7928332192cda3bba69804840890e2de2fd9564345ee920c76f34299468275ae292826c35de3727f919bbedc94f6fd3317ec12acd8f828dcd1e00b7b74ae68c6ad2a3948f62fe05573175150251f2ff071aa7ec4f392b2ef0a4b00265508b5e9db1341494e498fbb1a6b1e08d547bd200593306f57d211e64b54a5f19ec5fe5ef0025717ddeb1037e340203cc21b0dc1247ebcde92aad8a1c7d36aad11b40de45487c191a5640fa694f9d87a4b314eecdf40a321db0aebfc44684bafc9a3ed29ae0a313a76cd96a2513853fbc90c03718b578b2497997a6fed47a3df98b06d42c60dccb4c3b67bd304cd3e927507933f3a5b640b0519aeb5893262f4acf0c415b4cde28ddbf145e5edf64e1917d3c375b002036e3158d0faec4fe0eb64ab3a71a79f19ef0a5d33efe356e8d09c44abdf66c4a4700677211af0739eecc00e9013721a5e9cb779c964a55ce1c2ef100e34da62578a6004a4c8eba9049da0c6900fc1582e68ee00991bc92f53ebab231f36b39232fbafa84bc743da2d62f129229d962ab80f05c33cd93953ced1ccc5b36bca906f6dc7e49526f1e20ad2831f5b14e24e17c756a329c433af7561e5683621e464cce95e92c5d5c566d2c45f0ccb7d73b29d8a4ff85ac9e4d32d7170c834858b3073025e9ae18fe9e5ce3c1253c367c41a167aaf60caa1715a64088af30ea04ba307099345aa6fb775ecd1792dff41857d26a08459a9afe9cbde96e071b0d7be505e966113f6890948fa305eafaeab00858cb4e12b2fd50239ea356c832f109a74a42fc888fe75382fe9777279acda31678541133adc98598517997f29ce2a2dd3246f24f9b2720d66e9b3c02b0476451ffedd34f473d99230d93e2720c610c149ad5af4d1bd4b901e200d8ed135bcd460346b862333de9fd786c4b324883ba5eef9f44481144c28c33c8f824e77aeb465fd91db864145a3225e624d910302fdc5dfec5953afed7be95a16f190afbeb9846f711fcb843cc1f7caa93b079a8192e74cc82aa0f9e0e47eb3859d5f41ae1129963809e63d1fb63c38d9bfa3a24ded64b8aa81c87e64d62ececf6a565b708be72f17c0be41cd461973b4e784afa6fb15cedc19ba2c41e9bd136424509cdd4b30769f510f5f69f7e76a57ea1da374e435c04c8e4ccaffd26460cca888bb42e69176f130c02631602b3212169ee11724db972430637c87b45ac70ea53639f8e4b4dbbae34f743ffbb38f79afd9bb6a2be6c07b10bcf132a0d9a57032f1edfe5c904819d964981a9b3a68f1076c29bcb6be8742884ff410fe1ab1f9855b8d079ed177479164aea5251a127796902918705ed12cfe0f8e611951a252cb7633d8d76894b3e8970e10cb84b2aebf33d7114141d497b9f59e61378bf2ac34c9a50b8c85cd2b1bd7b9ea674372674a164ede644e265d9bbb75b6fa7d62e93c6f013f40476c37f7e3521ab8b5ed2a449728814fee5d8645540124f34df5662ac7fcb19f9c029a7e584ff35b81f7264802fd983105cd0cb1871863217d50159a61ae56da9f3a783841af54206055dfa5fc21c7610f4693fd255c2e31b71babf657ec6ebe4663f0207aa2d6182fcd4d174d32b63dfd3eb6fec6f95cf115a05e8b4c5917d30722f41e5dc4b27fbeed35a86d667691dc25e9fd8b0736e8b606627423570f3b878cdeeca2baf81ca83c57b5a6d521ddf55ae8c4dbd764a55ee549ca7d50953ecb045142b2c4f661bbb154d6834aefd6891e3d6b6578799b7302f5aad4566e350fda2effe18a9ffd5201ab9ca66e242818a8b1735c8606b51e36b7fea11d4b50f89d42c47104f62a1edf03097dfef8fa00dde988ee0ffe03a0417d752b5781c436f1816d82738dae1af1fadfb53a588b02e7a1ba6be0ae2d0a2d3ffbcf120a2c54f70ca0e46c1870687f1a9237d9a4ae853cb7faeb8f33f9376bc151bc22c8ac215e2ee44b44109ca2681e7680fd7da1cc46862b9c2d293082afe1e006b27ed034dbd5ac95d2c01aaca9b7a85484dec3bfae3e6c6687bfafccf7a8ed14334986ee958458da42bb87319e3eaee842b42b844ede5e3440776fdcfa00583961f42e8b1fa905684f7cb83c6e4445fc5eae0670a37ae3e020ba2f8540f94a1c301f8bf96f517e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fe9dc0af8a61b22c1f9ee6a5f3622bfdcb84b2eeb470db9012f581930687c8fb2672f7b57ac9dd10294632cc607802c6b39bda17d15c95c48d7c4ff198db8d26732c08b53d215942c06a92166f5d7e853c1192277730850ccd9bc345ff13a9a2b369d2e0c3de5507d36fae62b5032ed286f562afd7cfb145279c739e2900c60482e45122bba59b6a269b782afc98be19172660fe5f1e629aef5f2208625334fca3275213ad98a8d9b0156e0910657ee1b5247717a4fff856739de7b75da66ec459ce2e52f3e7928fe03e6d9d5d6a588cea8f75650bdbf0cf9832654979ba8eccf7f833d0fb4434d2e39880518f92f210b77870f582a94bc661890d4a3760c6d5c607c469a6c97fba8acd5c6ae065a30f41a80d59cf0dabf5bc540efd2de29e35df710833bae5fa4b0db7686e27cb8aea54e2db0bbdcbe91c7d967e2781229f5690149fc3acbe9862c906430f3e328a5d1d959a122c0365075d19f213923cbbffe045d87286935bcf022dcbe2cf3401f2203abbb492b544ec7d2fccbff6d31abbd2d786d533b058ef1f9b549d4b2af98d784b36c612a40565f9d286a2541b7f6af471fb5ecaf78d4f81211aa83ac1b25a2e3b7116fbe41c8063cfed798263fb186a7b38b2c060bead0abef74cb35ffd2a3bfbddf73ba0e1d2934a3fedfd8bdb4619f7bf815667eae5547da38dec73e4559a9305897e68fc14cc246743a66d2809195c0475376b92f93ded6847820a662f48484cf501fb0fcf817568887e9b743603a8e6546f28b123864e5cbf7943c91bde83bbc45d07cfa93bf0cb81b3f407228d2d1a17a920f97ee0bc9ecbb00105e526b71572b2ce61cefefa5cf7dc9cf4f91f9b2ec9efcb362b383fc2fd2d89fe3554436074113c7dd885012b259163cabcf1bbb7c4a411f853d813f655bc3445125dabc34c99a4ff8c061ad0bb82e086790290f383e6d7772b044fd77f68324c61874b6b0259e99e340b43176b4a0e7ac3065d90863eedf12cf8ef8853a27034792f17429362c9b721d8d6e3046cc2d9b93c4b0a57049ffcc6a45d2a182382a20297acfc6a831765ebf9d83962736c7c0abb5f2040b01d50b7f0e9587c702dd45644ac4e6950224fc7c29255a887e95d5e6bca7ec2197707add4a4a717d13cc8af75571954b836fc3f7620449c2d0f6f75798a3eb9090be88250320f02ce7716b83178c7b3791d572e046a8ae5940372e3a018932e9daa03f1a25e0426b24d8ff617963c1cdc5f7316c947ce7c5dff16b560c03d6928886d6e19bbac9b2423895feebbcc72eb9cd64d58c997dcbff37ea1ad4ac8dc8e4793267ba3c5d8e71eedea9b9ee8e3f3ea212e803bf63513f71f319d148abdef72a8a60daed6397152828d4902176f5d3c725d4434315f41c9a4619becf222fce5c68d2387f19e991c03ba6ee31e0264c0a24cfc05eb271693442189f57946ac03a503093cf6236a332d85b2080d716d9281da273d1e2f73537e25f923f53d363084e7f900c41db1f6550fd9aa3f150cb44f28af5e9655f4b5797a7b34119a6770a19bfcb76732860cbee7210a0ea4c4b32b860ac4554b7b9b0b7ba68771715c6028d866138c21e589b7d529320dd802fbdfba095fe1c78b65aba050301f089ad3cc53f92726227e9167a47429976bcb9b1b437130555d424957ff59abd137b0951403f5dbdb975f01d70c6e47dce7b2b39118035d521df9bbc5850ec7690fb534ae6e78d17445f654396d323ced4093c3143693f6f43500e1ce06b81517fa000b92e1646c01c8ca10393339fa6f26be1b73fd0753fcf067eae24b4dc9070b456164de3d9261db647616db037f6ae3c376d5a46a16fa9bdc5e25733e5106e2e9a05410d8b869871e23952bacd3b360903bec7fbe4802deac4e25e2b090a7bc0c82937907ace29934aa74653f8483be0f968b0064e9d0cb3f4073fdf4350796520d1dd6095688d7229eafeaab254d2362ed5451dbb8719640b8e208fe56d8280e01b0aecbf33b7cc82f05dc0f0ec8acbeb66e2e498e87265e6021ab323385a99eba37e921d3b52e982e377f349827877643b909301d1b1eb1d518c179be22dff2f08ed713dd01627cde593975d1eff3259c8b367f8254accd38f47ca109c66228406f43e3e9627cc2eb0108e6c6c19db6509a990d0e917ea902a76aaa8e8a3bfaadb8f61eca106bb69c3e93dcece05995b7d4f9c15218f84799a887a5f6569a086b47b09d249aac73d404f33df0eca3806feebf254e149955dc7f0d9667c4aed793a064ad8ca495228a45b9b3c6c27383923bcab8d736cd23310d53e0af9cb9fea31930284074a2af2f7f3646020a10aaddd33595f8b3f44d3169d1f78d8e9b1494f8b301c0cef778690bd195c277dcd5e57f3605b7e3b21602d4726750b812feaf9fce08d1c6a67e5676c30e879b4cc51b2a8aa3b8e070fb09954d70cc8b877d3f558ba58938e6ae2df0532144dc073d7214abb179e68a7d4626f536411788522e70f089d2d5f45b326960995c4d7fd0ea2557fd1937d2fa2a0c437f8e2f8bf9242b001fd1d37b828dccdf0afe33c7a63149cd04b742965d50539e922551d32734ecd472d1c743383161cc7b5e437541c364e29be28858ec8bc5d6c05505988b55497e5b6ac3cf4daace263549fd6903ac78da4d5cd9417ca134b6f732b47ffc33dfe5c7770919ae57949984fb2dd9409d831c9cd6c9df2b34bb96dbd31f3f61a6726a64c2a496c83665e2a4842bc81bbf6a7a0a7ac73c83fb9c88e6a2c0ccb58fe1c9e6824fb4d4097035451ed1aee1b763560a3c450b0f14e86c4a15370bf95301e849289f28211c6fec639189cfe801a26d6ea25c26c0e24b42da249848c158ea8f9984dcb14977cf9c4610487ca5d0526f1800ef47aa6d8b43211ddd75310ee5235ddc6f1722e6227bce819b53c277a39620231dfed13da99f9172e34f65559fb9122c92353b787655f68ad6f972730f3a6e59dfc42918eb54264dc1052340901525b3443792e98a7d9b43e1c4b9a22d90948b6da840b5af8cdc6a38dc1b757f8380ab0cb4128bf727eb90f49359e37ddea9cfe770c1c9c0e106e77333726fed3156c3ddc46d93970b75d3eab55d778e20bd098108883509e4284e1bc52c5bbfea1764f2e8ec5f02bce71853327a5a59330756862d61875a71d4a361df30b9af2806cd8c5aac2da07c0a5e55fe4981d1a7a6aa1ccfaccdd89ee2b7b234dc78fe8d14772a0fd8b0719a66dcf2806f1c08bc1ef1979b5172436f4d66b1ea8689e045c24044a753aebdca137b1b64b3ade82db0638e9f4c0211b8bf942275d1940aa257d696efe264e22d5a67963fe921d9bb8d35c59e4ef96cb9c4fac6f1f808fc2a933e6e4be7a28dc903945ee00f0606d90c73bbe4fde3230a6fa07aaab2d71ac6cf51464a5a1466cefde97fc1425cee76c2c91cceb1c2a8519458a759173a3490e17678ede2c35f372082e7eff1a2bf3f737298514d9580a8b6d1dc85c687b46c7f81700c586e3eb28fc492e81fb11ec319e8993c156bef9511f01eab48a29786d822d55acb9c698bf144f420cd0cb22705d7779c17efa219757c35587d3a490019e279e3211ae778e4ec3fdae13d4e1dc9a677e615542730aa66473b52002366f1605083b5d2455dc7836bbb6dedc7049dfe794bb915b5235550cd1bd2718dec0f7f3e609ef63c2819e5b24d2559b5aea68ee8a7457a472180ae5a94f326c5a81b19125940545c2f5e01f6e99d9c701809280e045ebde3264fa7e3a52f11cd77a24b0b1b590d9a7cb81e43f24b5c8da61c059632bde464f4a95d338c85046ccaae443f21aa8a68b0e4884e3d32c5affd18b604c30174877d4c1309c9676e9ae8df2124ef1dc961fbc2ac783d005c62eca6254cbad9182fefd8e7a8e47dba9a59f79861498df2c179e897f1c78ddd37bb32ae6379b3f89a74d78f5078599db975027c0c0f0d1a6a83c386184f2a696a9bebacd466c90c91f9e4662415f4b425f92c10ffa20afb70d1ddf3fbdf6446815d84c063f0b163248c3fbe72b63fbcc344692853ac3937597f3eb310aa8b11ad7a044f2094930896e6112b8c3249da6660c1513b645cfbc815594901fd48bd3f73556c1197d45f2ffb7d4d8d935e4a697020de34e5af9d52562ed31d9093bad7a9503d688c132215997538809f8bdd6e51615cf33b02bb55449308e5fc4fbffb4babbe291df8912d4b1e3e964035f027522d357f12613124e41f28bf2fe7040f5a0aacfd3f482eca4d2a6858689da4992632af6c7c4658bff03b5d19f599189d0b1bc4aca1d08801466d0c11ff27f23ead4d778799933fb84adc3a5131d6419df62278c4e057a7c4890d4c98e17eacc7354d34cefa84df7b384f64f9ee7ef0b242ed0e4f1d1f88fddc380f6dfbe523316b95615fdad408299e9038fad3e9d651134e588f3790c722b8743099bdca570bc2b09b2d773cc1ab7beb2da3acd48610b6ddc36bc643f33a24df956cdcb50e52ea476e3c63eb8f2798e3841f5d4fd0362d06417d094823a7f4f376cf877b920a3ad3670e2171d03739105e0a5eb3a047064584c22749a629b0d594e54103a73b2e06e010b295b59b3fcce6e888ff0157773b4c2a9c2fde8026326a7d96595f5e3ee0c9574c0f37ab88d5cbc1740297ac16b057c5616ffb8130c3d524d0d936580066cf6ecb147625c5cd162d183da5eb4fa23047501341d9c06cf82c1d685e9cd693f156ba0ee5c8782851ee4cde7799f3bc9afe737b7a5fec4b0bd526d8dc5d0eea5faf9b68949e88c5de80b4ded7c46a9e137a03fa0c89c364cac9ce752a19eb6f75336e35a080ee9ca54938d262eb879b2505c7e43b04bbae13d6515eb46394c3f9e60984e1b551d118c9408cb0712b01a79a8c37d3627abc4a7217cadf98d96dc813b9ba7f31ad8b5706d5913bed3b971d5515eae48d51faa21e892ff9b8ca65e013f37671fb1ad3872ecd8cedf452612588a1195723da83fc8cd9b18a31bb6f2a5a486d5ccdab8ed1a62ecc150db40a36684c1c84759957808fd52b35f0fe855ff406d30d27cfaf07ecb21bf8d1819fe0e1497cccf5e0ca8c499057442fc1a5edf2b2a622fbbda9437e74fb4cf19bcb942cbe8335ab2a6c66709b3e8da9fff618d78ce6432c6a15ff1514d2b3ebcc970fcc1cca5f2fb0db9a2938b07c1c6bf756db5a2a07831bae46f0cc8daeae436f0105f1048d533ea800b1760f9904e10df64194fcbf68a5179ac298fb9545a58531448af5f65199d3473267d30f8e452ccc05458a7c83df862a512eb21e71c5cd0a361e91da3b33e0d264c2df7ebf1e4a5ffddc7b256423f86a864dcdc234e8806a0c49fdde85f958010c1230fd02d9f34590aaedb398e90760fdb44508e8e36b6f1557a32ef304a333ab3fab60ae4021cce95a8f1456da3d148774f94dc94099100484c2b206ba5e756c035c94ca3a600fd614f5a4271272959b41e7fd86ef1294215ad3a0475cf26b19966366b15e15a727a226e33a90916f0261626026fbfe100ed7a6262f4213d09d1b7ca9944bad6f8bf21d3c7f03ff6c93d469159aba788964f60f75c11a16a9f55a401eb23e448746dd214135565851c556afc803aa80c4a338338d38dc3baec303297b40688321d2be68cff9f28fe017dd5f6b315a3e30d7ee297257cb2ccdfb7fcd15a2b4b9366145914cdfaa9c6fba3082b264ea4f72ce2deec7557b6dfb58cd583892034e06eb0251a8407ba5c56920bdf5283ac2cdb1c109b67d7e18edbec5eb26bdae695bf8bb86c0d958bb1279589ff4b3ae619e2604b4dfd038d19b226c4c8ca7f8c37b392997de1a273a72ba45719e4f4e435ff09e7765faf6e37c879a082bfa06dce425ecc60c5411c940fcc1d9d9b29e2b3b4eec73797769740bcdb3043b87fa3f77f4fac165245107e2ec33c2c46e6746cb27aa1b049866ea1e7dac247e425a18066d927f0bd5278eacaa56c5f08a5feff86b0b25d863a122b0f2f757caf8b47c5206235bfc1969ce33080e64a1ea77f74792f2b719751a7b10ed5dfe59806b8764592579dd2f914329d69bf64c8b720514b2bc29a47c107e82a61c85445009f6026dd02830b6a2abce4bb931c7ba9c15595191a0fd25cc741efeb3ccf88bb8081ecb463ce75800353a249b792884232b6694cb299550f9f2c6c4ec8533131683dd3ba09ea7d4322fa1d990f882a1e60abb85d523db10d30a148aa3961c151f507fda4a3363d11e6d8a12e34148b9895c11d3b8df976ec0e6fca2d4caeb3e2a2c9bf324b7c0184d0dc87a2800fb68b967ab41cb9c7b00ebeed438759d4d9e180d1ae0ce9c0ffbbeabcd9ff6ca6fc3f4d2162f1a6ab45c868a21b0c47cc2fe7d57940586aaa8d972e62e27389dc0b919f1dd2e054321200b83cc3abc61fea72a3ec72ce063acc2506d7811e78199a3e9d9e45fb806efe923af971319c137a32e0a89ca2fc8e5e792a1a6bbefd70b0b0f29ac7b70f7d7d550fc3fc49762c7ac50bf8190d871ea86177725f87441d94a07cd208a715677a140108a0b373c471d493f18f6625120e11f99a1b4cacb4588f73aac87fbfd1f35ce4a8b54fc81f364db8e2293cbc0174c5e3c3f3184ae9322b447c41ce6fdc4036660584b5f63406cdc14a3e91def9a640afc9d0bf96919738df3bd7463eae6fd1a21ffd0ea7a4045bbff70caeb33e4154b7c7c3acdd73849f8a7693088afc0ac08befcf72da944f85cc0867f893092f2c22e603be4e29363cc7cdb337510c284a7046755e1dc1822e7998ad4963d662c6cd9f02b6dd17c7c2e7603299a572fdfc01a1e9e895083087caa7568fb922a1c271d976f9af8c1583b6113ad1f56e4b4b7206f05cf1929c55601755779ad4d7d4d8f3984cd90ba387abd4c9b5c4f2ee4b0723c894e12578ddae807a8f7bbdd53a8d8350c4ae64cf07536e95d9712f77d0fcd04ca232a435e81d75874de659ebd2ab792cceee39937823fd270b3a11dd5db10e88e41ffc2de8fa5b25e14a5e2f833a5dc01ec3feff92b5aa4b2f410d4f312ddb7ceee2c0c25048aee5aa2bd91d780bc3e5fdbe248937418ef0e8da358c038098f2ed41f1335c59d1781d94777dcf62375f0f0af5c47e38f00eefb6f5392a1edd44d9c917db3377b64a049eb9e87ba7ffb3c38b720c10a16b06bbf04ace1ce190ffb9f33f66e60144b8afcd1dc88af34990058bdaf9454c01bccc08ac468e1c2a3b6877049772b58ccd32325b803a0fc4aa247cc1430578a006854dba9cd534d9824f8c6c7c6b0094219cf7062eaf622d17b760a83278e574a98966732d90a3f596c4991972aec3e2973faf811c9393eed6362a169fceafcc16e97ffed77af44f7c129697c643db199e0ae73dc40433ab32cf707442d51636091ee35c1d4f808dffacc50ff3da2b96f1ab5ac66462c71a0fae5634abd907f852007eb1fcb57c8df728eea3efcff91c0baccc11e9ebe8e5a0063179ab98a550a760a40f48befbe9b573c90d5aeabec9a70c49e3b141c268d675970e9d2513f9d8553ac4f6d5e810a2a0313d20f326b1d922886e63591be56ddfbbc8b429a6bca30ef28e806e0e35bdb157fc342e3ee213dd501229415c941b6ed505cf190f9ce48297ae36db92ee64bfea3e2c313d6ebd25260054a1b595943fd45e50f079d049722fbd8ae6fc8000b8887f80b4f9ef0eee9a124fbba86655acb6db05a1f966a89ad6c247dcf8a6c528efe75efaae2857797e8bd4f982a763ead53097ddee73e772921f4b464362ead71aeb1a61fca7ea4ad5e462f694069337640e268b6ce39897f9ebe47441859b83b434b5f3a963eaee9ff871a3e678c1214ca69618a3d5646f1bdab4b81ad8db96559869b1f94e57aa36229e9f337510eaa7a42a485adebd8ca9b6c5233aa17ea172f71458e43e219b182195919969732b44bc10c16452ed63262e5f00aaa6db99445c2fa8ded2536444c1e9ab35ca9aee8bdde710966235b02d7d080154e2efb5aacef14575946b5cd6392b9bbdd49d7d883b9ab2566cb075f5fe88b36fca39ca7f8f4a4fbaac57589b4e8e9e76443b59661d1b47e5b4a8d16c897633cfef60f234d1a31d3787500464b43544efe20b8489d20e0fbdaa91e1d03fc2961426d702d6c780cbcfbac888847c5f14dafec0af5d58c42075c400f864f4cf4c857c2c9a76a89db40fc263394b59c86263b9d4b7bdaaa8dc42b401f60c5d9490cf7554e43f003e76bf5f32ceecb3bafedb6fbe880a3d4433fe1cc83de5cd00fd3c629349f098d8009f6aeed4e0163770fd1515fa3d0f699c44af5f84cd61b0946db38f03d46ddeea2de40ca6dc651841778a2f662e6f593e7aed1760af60c1ac54bf4bf4aff9b241d5780c8c32d99505d9cd6907c05f9761db0319a7d2907d3a7432450ae4286d80256d64735806a808704a3fa5557ffe86ddfb3661a866521d3cbca90921b68d7144236495eda4183778eeed1f2fc3b144ca2cec9ffc4c39f953fbb622a576a5a0ab3ab3650632e1749fc0b056324688aef08f6737900aa64c46388e4149a2d4653a78a5d83aecae9a50e01cd82a472ccf36b3500fc872b9d7c81f4b314424fd363003e30887ff89327f934bd355d21ea0495ef4d0efacdd3e232a2d5ef5efd4a4117f02927165ced25ca6c2d0e75b98ddab786d5e0834ebbc1fa1f37d619c23f59c48b037df82933a31f254fce7f2cd2e0e9752dd4686756e3363a263d58e7a3fa47df9c6672e578b63d73b85c91dcdeb9335863a03dc5d0053fd1552abc1341c32ef7a8e29a61ccc259642723d9b1c420db8acf28de0e9f5908fc44188b074ba2b9d974df71aeb18df5a4f0c085a01d51cd2b39bbd964afed3e8f5cf7446d6f3459f2bb73d4416469f26642838180d10a2033d374f6815aa7e933dd14773e12b902ea70c5eb80dd21f66441de9091fec666d5d516f074d112adc0e4db7ddf7b654ed40025ab127e7f8641de550f49313b6b769c51f3fffdda8c5d1bbac17ea20bdf58f22333cbdfa04c03c19410f0bdfd54ab361c86cf2c3734065bee41e686f3980de804af33fa4335f4e0bc9c6ad96ccf82b63b28d1c89d03895f3d026f20358624a15508bbef9ec028b49135160c39a846e47ce95368c36c97be64422edec04599244ba94e9678f6ab7c46caded949e12f137066816c54b4d7f2b5080e24b2ca00c9fcc8557f48a4904c00f0b599e2b764f11739bc3ac9cc3d3698699f5f368f4d05682b81959cc06e307c4bda1dbbb9d106fc8c026c5d36e788035bbd8111cbae11d23b95d76ecb50376c21a0c6aa4549718b92ca04cbd410ce892f0733634cb934d4ea2d157894c60f69e684acc330d260c1b104f4bae3a54f8cecf2b31536b129259fc6f96321fafa7f69cdcc17b2f0ff51a9f78cfd4b46ce99a4318e1ba927c1fbc951df75022a5f7993615de400888a848df99c2fb2cdacf5f5c9de08b8360218d5ab01c8169318272914e22b6d1f079758bf37de1823202189c3e3bee120660b4267445b43a43beb1536e6382f6793173097be7c991d8c87d684f7812b0d25ef8ae0aab9c916a0392e0a11dddd93374501d803f54c031768b41d45ce0dd7e1e4ef498761b6975fbea47daddd190e4af49baadbfa32ba0f9dc9bdbf7e9274d976b060c679e4729c68f86296b064730df0a4e1cf88c4783c2136f3e0675053419e2e0486bf6656f9f222da3c92674af25f4f7c598c15ec42cb8ad8815f770b09e78268a19107239c12fec8463142c9741801353908406e320e9e665c31a566a2147ff32e10ef2ffd57e250238a8dce96a75349406d2464e249cf2279be560be81f44af0c7f207794cb708cd841d77db7e25d731582ca56edad663eca67ae1b1996ce0e03e83c15c283b08665a00450cabb1126bcac82fd63fe76a54176aab1c772bfd487f9ae8be276c201c5b42512c1ab19702618073d15f61a441b98b5a85581f885c467b0bccb39489fb40c966b400ec303e78ee4317cd08c55fd3fcb0912229a5ee18b578e43e36740f97e0d7f113760493488d857d10a30a8d08a2bea867d5fe09d7e3ea0965a7ee0b819c368a32cf542ef8f08debcb9f4e1d5e4232726c717209a2222cf9375769d26cb02d4b36f0240582c0f0f86bdcb4b01cf4c543c3fc10ee0e1114ff3f2fc301374d2f6599b6a095596163b90259b5bc8dcbf065c9508fcc9dc1f7c18df61ddaf1ce5fef3d7ed7b31bf9490269f034f8113a1ed4d3c83f2fcf576ee9557c3f5dace3bb3ce06b038726887acae2f5d00b6f1dc6cb1acc987fcd22623cce69239490fce1bdf80f4a4da8b7b42ea10e7c5ea775500106ea17d46cf4877d06dfe984f348f7ad5da6b138e21f7adbfe6aca47e3a1e3e4b520db4ae7f7ee344dd79810f2a245ae2a1ff23a8d639313942a169cae20c4f9a154e825da8cc549bec0db6a7ebcdae82cd3849f09e0f4471f552cef6f05f9c764e6f251782c632c1fdc0d2fd2e0fa13a922aa325ce3ae88b67f59dbeb8f3e9458a1afb077af36d4c56cd239702939dd57c7617449aadda77aad6992164981efb264cff59311da963cab1edafcba41b02dc3e6cb22c028f762eb2ca21d717b3c904f06387712cb7863baba676a6ea82e2d827304410b0893b167febc3878e64d79c53c422e30ca40121a9c800912a3023efa8e99bc53958bd263830701d371b26d8d770552806ce0642493185746d560be53619dc7e0311462aba24e739e08556d5459feb512ac23bfa1b32dc399dbb4f5e27413e9b5588fabef21db3470c4eea61ae4825e7c87a712366b2c1971f05cfa5170b47c6149d437d8a08abadf1c107548d0a1483ac151853dc6f26808a6bd2ac4e7f679453a52cc92271c6b52179165d0a64af39534b67cf58fe4acf08fcc7e5c4cb9f7c23fb4e2a9e7713f8a70f8d2a5e36fc1dd2c757208635244732f5ab5ac1d76f04103e4f7a5d5b1f33b2ce6d8749c2d06d6766ca28ee101aaeae3f93163aa9b4353b3650dc7bd35030aa0ec06afce08503e92946846157e4abdb5993b256e27330e15494cd90204f622a6b5f3ba1e79e52127a61ce73c0a39b70f454a7fd21471f900ca166e2fc97bce99d0b9f1400fb185c61f1ca53c6d4ea8beda17483539bfe8b353d0a9c3c6e0a73999e48015984a158095a8f8a7f9cc7dd53872eb5ca85269854eafa28b227518245cedf9778cda31bdb84c29226457e316268ee62cde4e10047ff6506da2b4421b80a80545213a1edb54675c2b07e0f954e88ae14bec368843c985c55ea785abf3181f950db6c9885996b30b79abf3a1a767551a505f280cd7e5820b640d7a6152aec04faf46e1eff1fb82880740b14ced3ff196e10cf5c73729d36eb3e13e92835fa944c2ee0a715d1ead439c03f34701b11283391796847245f0290b4da908abdfd6e40ef46d9775a0e229050aba53006b263b30bb2f3afbc776c7513c1fbec1b13de6342c83c900c6276177f81853478dc97a46a83ffbcf610782dfc4162a150f002133151a31975419310eddc6bb0831712e38266621f449de9626fa4a1bc9da9a5e345d1c35e683ddaac1aa6b55fde649904f6a70ce09ca5681eab14e3b515a38c61d77ecb77b62d3645a09f1da1d951ca6f891eb9dda774ce4db560c1f266d00e7543ee1471f01bb8643884ebdc6bb1c84cc6d68b6f292d38cbeccf8253f30a2635a067e8ebac3fd5e784c8dc9cb6d417cea0195f16f045b1c6954760165348d392a3fb4c6bee9e8aa4251f38f7df246904ff722c6970128b389e7895c8b74a5725b27eeb798518845bfeef62647125c460b981dc8961c91ad0ac6adbbf94052940607c24cb9111d244547d51dae227f72560341c08f091ba9ce4deb309e313a2906dbc516b6e7e6075b5e0d6c9d98a3e20d8452e0d5fb3571b8ff0b83ce7cec6fe9450eb1d170b8046ec752cc6f22b1105ea2383fd64e49be2eca39b502e2ba604cecdace7e59edbb04e0e49b646e9adc32018a10409e57bb6f62252bc0b11e9bfae23bb0199326bca1fed776a5179ca0a75c760a3a856846bb4bedc13c1c92b7d7124c287c3f07fbcaeb6a6597f49b188046bd5fbd6f0e0ce83612ab694cf10d72df46478f131ccb4d84d3240f15c6b5c243a510d4255b9a3aac8b282a9a2ae1173bb69ebf20541cca1d68d7a26889044bbee423c7d16b5c2ccd73e6410d0cbd918929132ada8613f2b72ae23bf4177dbf4c608ac5ed5017b5adc43644320f708f3b0c30a93980aa87aa8f6aeeae1cb53a03edf6ab0974515a609eae774b39bd248319a56e88d8be93d044737f9b9d65fb4d4b003b28fe4f83d85f11351563f034cc122243a955d0c2ae66924ceb79f764845ce77d3af9471ea7248a12f4d3b3511fc47fa1815a097ba33c7c6b8c4371017b7a60be89e2b18572554a065941e656f9eabb4d268d5ea00b5ed1551fa3e91dfff1c92ef29cb9de34441fca72514a3186e0fbf3006c62c50389dbcf0cde58859f776ade839620265d9e23d2385916d1c63d9a4693335017f50d5d61ac6a133f3401de8bf4eddf7c529c8dd7261af0940399c91e36be9cb80fdc52461e8df5fbb86487337d8ba747fa754e278e45619bf34e1bbd4b6da406ec7bf3b29d176803f6007c72140af5a061a28adb284842dea8746277e4dd765f28e9dcea06cdbd195ad9e931068f83f957576d3bf8bc0864a4891349c36d979c8a8b324d77a15919b009fd17262737b53c40d0e7b87a9885a150c9779237df255548231dbb220f572f542ef20b71e4dfb65a0be3ab64489c52384136325fdccfdee237550202e1208c8faa8f93cb037ac6fb7eff559bbbdc9af2beabc4ec43f9b679655a83305abf0b496c81cc5b1b2f4d716b83605aa4febcbec6267149e1de2bd3dea5d1f38aac00d3824d7ae5ffdf9e6874457748a1659dc2e47bc937ecc8ef872765ef8d800e89812ea740913b23a3f97dca371201e40adbeabc6984c2de020472a85e46f95ddd6ce2070db88170323e5c7191dc7d7df7e443c297eb4554f0540524afa38298354b1e0c818810272c17ef6cdd45fc4ff4787f7614d0f6aa3294ce4ed361116fc8f42065f0b3121e6ef0e997b158e2316446ed430f394f8f0ed58172872b3dd056a9ab15bb762d354d2c405b17fa96cb603702753be5fd8e5e2b018f8d3f59b4e12db6c8a5e3a7570e1d1c992eb396a18b59f6e66e2c7f87f09fe049af3cab0a79b620c8372f930a5490ed54c02f1f34d30837af0b79fee775047089e5ca524d3d6f524fc1762335486325f40faf9957424c741ae23b30d5077b4c725281016fefdf3618bec2c5158dd12809ec0ecf08b38672d19f2b9b6c9f1dc6ba80b4847826db4b49b0d605aace5af38475e1007154e9def73274a5e794506b00f1ef73c52c0f7191a08e7e9373fc74e79ac0e6fb793e59e6db7457dc7303792c2cfa202096a2f28fb70f55e95de87c772a2824b473fe3420bdce9c09b2b0584af0bf30e5968f62320414f21eac44c6f75dc371226c6cb337c82fc37e5dc13d7dddf7c6d2e3e28a9c4235d3bbe74d46274cec46b3a6657e3b9b378381f74bc01e4443b4c3ea4610a062baa8a9fbd5723ed9c69553e2b191cad537343bb923c3d008794551bc6c7a6a41b63161906fc4e91a40444f99abd21e2623dc189d4e62d7527506bd4ab798ae9fd103d28ffac464ca255f1bdcff7dcbbc46a1bc2fc7ba017378443fc31f69488fbdb0077d12d45731dbcd9ad74aacc8b86955cd31f87be9188ac9a90280d3b493dd15db967318985b83da5d4cc878a83593876f25476dc18311f9ba62ac9aad02ba2880df3269ddcb472bca4407c3b97c21ff1938e273695df72baefd45c1948175e9a38e77c35175b9bea6f65538492882be0693c1adbdc5005dc5394ca3c7ef31a39db1087172f5cc3ff0e69398782677af2ac77aef9bf59ed241a9a481c611f84db3d35a8e4fe09fc11362060dc2a8ba2e0e153597433e294b2a7a3871a5c2ea47bd68ed13fbc934d45b0a931a68737e117f7656723f8d3f8e266b7e10ab47303fb7f40b837ebe6b37116c047ca1821b5d01570dec58a5041b486dd009b983e2444bc1a8790d5cd16537f39421fb8321a5ff61f581a931a219c6b0b5442eefaf29e2b3ffda6bf584c5f8689ed32c3dab249421fc2226e6e336d7eae19719d504610c430be48058352459332911559370b3ff7099c94c8d48324573b5afa65906f83dfb6747eb79ebe364e050096476f85b18cfbb2d8d1dd981be2e3cedc8517a39e10958e512cbd6c89a13ce4fb3ff225f1a51a4191239124adb8d53f125a709660357d5da46e74c3898358e0f9374c1213efafa7b36956f993b7f9a38e7ee7266ff7d0ccdc37e3fcaec1d22cbb1177e2c8cac226ed19c1a3fdbaa119c7332b7c20e52801d5ac25321d37d0f9a769635f96850a5c2a414c371baf3bcace87b3b0c7cb755d67959463c52a247d8a9651e1a6d55014975df4f9464bae2f61868b1674f626952f835cb5556bc8c64134a0ac05be9d6e0c645fe37cd8663c76708869d827a581ca90f1fb0eea73b2c8738e8b3b8a453407a83d85b83627cb1c4fc9bab119cd6c771db3bfe38dc2bc725d9080d3dd6cf2a38e5a979887efaa2ab9a3f4ca7f0142f9c6a8aef8c1281d7ea22f10e839b41d3cf7333b838ad25e785a6a7f886c29cc9285d2ca32af85e757b33c9970faf778fd0fa1cce2749cd564c97bf4c09e47ebc65f01fc40344a98964a6a42fcfc47d83014e6d95c2c4e2c87e892baa922c0930858bd00b98f108cccd9a0f8455b8df308121a04acf8ee7a876f885e5b075570ad14e6cfd97aa0657aaab56f9daf84b6dd3c0b54cb6645718e26d09c2fd2708c3b7240df493a20fceae0bbeac1940a5bb090ac548bb6fed10fdf224738d652cecb8fa8344492ec33a2a8828eb17b509f0a3f8e3a8be5360a8404cfe363c0bf1f90610db3fe4e1acdc4920600ee4ab945b8981d86216635238af02b0859d91bc60c429229121ee96c41b55d0a0209586d17dcf89e6b74a17e1c878cdab7ab76f89556297c9f847288b0f726836ccb7ecef0221cce18a105e8651611dfbee6c396784da81f5eed5cad48f5ab8e661bf4caa69bae3661d73d317e005a58271173613454fc4072f1e22285ff0513ede33b28ba2d3d89ae7d5cec104e179ef1a55d440837666b9cac575afc00193528ebba69339e88a3d38cff3bc1e18147ef8ae0b7a1294b0de3e2fbb1f08c4cf648f61df89b2a65ddb96abbb6bac7f2f8fb70c8de26e88df1575272317e286c1fa35f9a873dde7990b85cf9bf79f58defc91f335b44a823216847c6bec55de0234a09faa9abb367bbcc0ab9c9ec03ac536f657765097eed920c570bced438279e80a4289c10b9dab2b5438ed89cc4427c915c8a20cad7dc234de8199d38e8d380f1e516c2007a337d6e81f06fab6f3dd78f6f7f7115aa4a434d2683563c2d6b5f3623e5eeb2bbf41134fcd02f4ffebf3a6afe4eea01372a5f101df99f59b4d91a226728292d00a70a0c512e0cc8e380469a017e8fea15d11a3a72cc5ab9ee59a01e65c91965ed0cea677f95e58b936e094b7e6eb2d7be5e8ba138d78df3ba542f8559f1fc60e2b9ed32b994881c52c255fb4e8a586b855c10dc43c38d250c428fa0838a170c7cb6411604e07be4ce6f32ac6aea7fef072d72a110d8d79e77b55661c8802ba5045990d116b6b3294fd9a866245c909e25a462d10dac30494da261cec11859e470bf54c793ceb7b220ee76f68b20516b51121125deb1e8aa0a89fbc43fc572993a66b3376bb0e0d10b4397e11b45c0b6bd52c66c1731ee19b95041c3a3467f50775f3b6201063d2e7fe0c0a60bd1b650beafb3b8e6c34a2413919471c2fa1ee178c377fff527d426cf88d03dbd2eea68be30f1c04544eea19da37158ca6a2eb180942a7fa4e1e21212094ce9a7d03be311afee91681803226e9772ee3c17c015ca5941aa59c89f48295e98443c06fc018fcb3aa51b6ab4ba21ae911aa2a7d7eea807e4014b023f5414282ea52e9198bf8751be22b002d85b09ebe586c9f40bfb3b8a57c2e36dc1c4a7267e8af65e627b3103ea3c19f639ce73bdfd4058801f42a5e82d6107e7e9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855155cc9dc2b54b92cd2c82f3fdd213c35993939233a209233b41251bb7ef4b1e47180112c67465950ce6b00151381e882f017fe49a21b5c73ab1acade71b0156b8ec55924a7a681fa60cf58503fd66d0e3e66094fed48712f0a49631c3f4e4546e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555d72bbfbec4eea8501ab8187bb42b4d5d5ba9d213fa9eb1db9d9b84a8c41bd81c5009c24a80ff7a379c3edb036b2e08f606f4fcf91fef70ea90c29cdeedc3829536efc5f1e8ed9ab9c87898c5a79794f51c0e316f4c0be36a2d2dff0c2c48405ed3207044286c094095e7930c9db6b7ceda5aec8680cca37ea31af614f5d9f2e0851fdf6e10fefa5937b66b1dda5677c6ac2d7b6e6c5191e4bd1aaa23bef1d1e32b71cb354cab7b995f0e05efc525720d4d620d8b66d1191c744579730d007ba732187217221554aa91a8574306f4473b3383ce8e5b6aa7690b8459fda63ebbb78dc36639fb08f8da11dcd379f1f073984700d478fbf6c99cb83a8fd5efb66f2a0445d98c380233ee6d273e05bab3a4f7b914bb2c2cd3f32cba2b2c456b0bb4701c87003843680f78cb6f0c0872906a246d03a02fbdb2e1f6d32d516d9026e44442887086d077ad138d96787ff77c50fde4d7e787c2f69d619fad84909cd7d1d4769f82e66c1bd27160854e3681271dca1abfc4d667ccb435fec0029d8af32e1567671f06c07a2e9436d8147b86298098ab632c0f45d35bdba16ffb9ec7df20cbf87fa7c0207cdad4fc712e6147c88f5d7f00237ba5ca8d8e90b5f861ed74fbb2814c80b888a871fcb85f8d491a44903eff8e3b818327f7230a6d7026d1b2b61bfbbca386c5565516c954ed7da7a4075b16ab2a6f97a684f1c7d37ea3765658a15ff8d4360a1e22782c359ccfedf16242ba9739461217e154086c7c2d55f38314c98ea2d198f97f8746938cf21727046b39cc322e96cb37d0298c435187cd4b78ec8069585de0ec87a52734fc5161cc6fe2b7ca7f1cf37bc62d80d4b642f13c4c02c0cc89342ebadf26f5c6733db4ba999d712f44d2e25c9af1ea8ba26a9e9845f6afea11ccbe0e4c877b0215a18c598fffa421b638a559cee1783600fb38f2470654842056fe9e437610a52486fffe8908240bddcb159052316cce0f7c73f29656ae25043d2767038a0d37db78ea7601af4fb62eac211d7526d8d88d8790f7224ef88e29313a73f74573140be4a5156f4de9a5443b4297123db1d7e075b6b651c62e5895450067523c92cfa6ba81cf39b6c98cd0f558e2a2bb765a0fb7e1ef96517c3ddcf82ba92f1b5e8c99824ed9e1d6b1a21194bf8e55eae29d6d90a4737be05eea449c63c2d402daa49c0e7bc34e07473ba5df960ed9699a70cce2089b01837dcbaffa87d078f79ad43a656eb3fe5f39f28970126648fb38b254433567e2cb97e88e40eb5aa2ff0e3d39553dca45865f83a7ea62e070cf676b8b04e67ab4c487881bd3e84811b68b6ce85c0987980829601eeb88abad61aff78928e358b746d890d7cbf3280db9c302db022c64b61b559f4889ab826788f8be89b11d74e7110b0a1c0f4bad85d0c55eb4b81827bff49d56334eeebbb4e7d3d7e282a7742c412d22e4816fae5dd893f054ef2f53417bb22a7c57a124a841dcc41097b633e07332372f31f3466364f5fab88944c67eb5ca17160194eaa9ee70a02d4a9d472e38eddf2266a9cfc28b67e731b3fe0eb20f0dee364f8f01a49be6e4772007702d4c1980399b45c0624a2978d9abf6d48db70f199e46707bc749f5d14159872672155430b1d0453066903c78efdac7c4aa2277b7519a69dabe9f30d09674b4369f784e130ca349300a52a03a958321092b7577688c7e3f79366e4bccf5215aa3584b5050a4635261dc55411db890805a7f0130d97c8022d8c5abca7cf48917912c7aee0bc1512f241efc76e976f82d41913e09f108b106b1cec14fc9a442d980b6d6a466fa0a5f8c59183676bdb55b4f0ecf98344c8b0801878aa25139b9b7bea8288826d53608dfb219323fe2abc75c1a081ceba6e3a06325b1a070d8cb1454daf68dea8e17e0419ca182b066419dbcbc828880400ab4a6c1647b860ab2eeee70fa1df901764f48b7caa9163529ceaa0680b651342bdcc883066f03c1459a0934ec5645782122c24dbde8f1ca32057b8c2a5dc905bd6d43146f1ea69f89e56a5095014d3f320f58319e09b5460051eee1806bfccd57d49252ff62d8c89f7a5d3d880796871efd2a503bd5da9739ec292fff2aec268b16e3a0dcdeba6a2b5e881fd2382c5d1d7de050687e856770c052fba00bcb5c7795941f8d55fef928f07b8cbc298e6900073380992a5658e1c1aa9ff5992ca376f2bb370c95cd5df33683c4999d6ad953e8769a25565398145bf163579c85db9a038824447b1dee57dbb0c733ecac13474aa800eb91ec6eb96591529af2ae190f6d2261105c1aa684d72da80f9ac88f9735903d020f83fb4ef079a6270500b1d463d1f6883434343d3f4dfdd6ceffe374d8906b5fd03f5c01edbae291bfa4ce93b19ae47d8a2fd5753afbdd4cd01280ef8ec86330c1f412cb12b70781788f26b11e06c3061536c73e982e2916e451f8355beab207436f9d525d203930269b633f98b442536527664e9b1d2f66407d26942a2cc149190f12795f0db55f061200b89d2f96c7eb2169189f40da7a5e9b88412ff84081d86fe0db148aae70816350f39ac9fe6f577d4dd042be9fb7e863f3ccce06eb187330113d18a6ee10e386387a07c24cdbbaf7dd71a343ef649b721049cc4feee8ea39e327190ce1c634198e35227ee9c394c739779716f98db2bb8452dcf0ae71d80d991803d18f8b769378f8d4d53bdbb88f0fcbc351db1eae35fb394a9564f0c44055e2c3739130bbae8c643b7606bf92f5ef3feb8f40d788cd36d38cb30250997dd04769d1fba27022a0d489f0eec834753a3144a31766a9f9cc42609594ebbfe03890d5e21d79bdebcb85f794fb5df2cc68c764bfe0a543a04b19cd952f2be7041773da6c86de1fdc1aa91a75f503459170d6cda924fe7d236a59dbc38ddd7b98f295c42ffda38041ac5b316eacc12f86721b1aeef663a531e3bbf29736a34fdbc03344ec16ec31a285e490bce5618cc5a6431f8c7c73fe5c8d48523970e3f7186788eea3ed8032e55438c1f14e65851ac366c838fa59c700989f6da09ffcb750d890511ea6fef33166785204b4e83428b57b5c591acdd4762db19fb5d58fa1a20070189f6c65bb4a59c4532562c890c67c3c1f2387b426573d452b4ac49ed75ae91d077462d45ba3bde6ba0a0f7185b05e0e3df09dda405f76256179f0a20c0d0898996e48715689d71f32f4cbba40b6fd69c294b4c9a94d373bc96ee58a198c03168ede5b902528b14f47239339cc4e204f83f9360c52613da60e19dbc647c691d466812bec042f280dad64ae2e479946251529b943d1524bb92dddb0d6701d38f87b15b1d9f110a03bca9ac3111be2231bcb1f39c0d8594ee9c9d4763b806779702ea2b70912c41788f32be02ce051451006b27715ccc3d1d910390e040c6152894becaf04d8619f814e48e525ac5e36da9c0e3084e67d28c3e9f15ba9f29b8b64162c9d5af9034419b21bc849d700f8ac0c7629bc40b25ec5e98a64b5480da49fb611b273d61fa11231b93303c8cc70c0b327317c8a277a93254069eb53ffb137cbeb772448b77d744bac79e935a38ec56d32077f19de6ff43cdff80ee1ab290bb1c4dcd21620116a8c4b6f8c3e54f47f149aadce777bdcef8f56f6e088e157734c183af70380d31215ac97a4af324d9ce802488887879f3bc2935913da12e20b328eb00cc6e0b10aa2fabba4ea15a90cbf701bf3ff2a4c71a8a8f2886163db62be5492c9342689ae71fd0e6c82781c0188c972d8f2341d432ff42f722fd02c9d3e6c4fbadbfcc6823951b4fe5fa9ec24239a614d8871f51bcf540dba9663d21ae74a5252ecea0c527cdb42d4ff0b131d7c086ed098b5b3bbbc3f7bb9d10372876e300210786d134098b4b79f2fa52c8604902e843d5100e5d58b54fa1ec34fe3f020187a0237bc2ce7dc8b747d04ed25f4158401250ddd85092bf78e9c632c1f54c9426807b6aeacbc6d75cc7e50a4a2dea251a0eb85a6b9b1cee5c6e4f3f1275def2363e686dbe8810cdc77daeb7abca23769762f68dee9bcbff97d9f08bb9a35d1a911c932f95c87739289429cb5f855b1434c2e0088e38d93fd80da224f27712defba07fce13a0c163110ac99e43ebd99d63f263dfe1dbde72b2c1ca0d0d7aea400c423f83a1741b4dc9136d76c8dd1665fac4b186d97bd5ee625ce5e1b2099a1dc67e2529dbb4105964a2326b4e17ad4c03f0ae9d59c8af5445ade3286135edad15406550f1bc88fb1b68789804de34150f9e01481ca40acae9189acaa5e513be3a59b8355a11c11c01362c4d5ffcb3df84ec1e6e16c7e0c5471e6e5c857cc00ae5441269a8a9d4a7fad90c1179a27eb3b1f10d4ffabb872f0a3aa58cf4a45a76542a211c6d73cbde325a493ec5f2c21d097d724f23a331395946b9e57c47a8b41b30f135fad638284334049091aa30639447321197dff9d1f8fee4c61f551c2adbe64c692b4b07f7196a444e51c8c41fd30208e74f995b9d9d28f2cf8dfd49824235293cf73cb61c90357938ef3a912341d5f4914dbd1ba61f7b2b1f6c89de9187e315f26496eb33f1070dc203630521d1ce4044c6bc5cc150034f65c998ba72a8e870da7339021f9c7e97f0a87157cd46c1761047196c9dbae3d1cf1080991fff00ba93e2e4baa1f3ca6ba522210503a484b4e9d2aaab9603e41690944923822b1c0e5701ba07406fb7c0311be5952f54e2f6732a46aa15a0c4e3367483f4cd7ad4a740817502500eaf3b354400c54f51bbd00ea096cf1918597f5ef9fdb565899428e90b60b58e2d2e4e9263e1fa13a962dfd61b8045a4ce8abc15dd9c3f5ade529e9f953fc08f6406d118d297a18772ef98e3e83d4833549819364009802239449d6528967351d66e692b9cbe729bf1fdbf0046348d340826ea1ed997ceba98e591143f9476c857a8cc754ee6ccdeaa7df5b07a5165a458a7fb33a77773f84f7703366b49d44c84e4c531d834fbb2c6a73b79c4690eb0538c18118f035225d5432aa214a568b13df77eb8bd47531f42096329216d9639f863e12be5f5a311fdd49908601bd03070aa888284f1db86a1b9535f0173fa98d43d64cf2f16c0e1ea25cc30618693a4f574fe2ba0039922eac31cac76f0724c6ef83ec68bbe0d13720621be897cdbbd8b6a4877f8364600548e51e58bef08478d5b2ac0ceee91dfd65084e6f7b3552a1ace3815237d126634310c38181db5bcc9e93207df22e59dad8c7fd4c8deb5ae2b30b8b04f861b98fc89f9f98fb4aca935ff08ecc70bc5137e3e90d98fa2642f103bd73416366840c40bd6d8ae3bc4cbd1b4aec16f8dfe9133028054d0023e131ba3bef93d828e36e7e13091704a741f79927631a6b659003c2e8dc923982627a4f3849f25a75a16d6adee22500644a02bbe6dc31bc29380f5a223ea904c614f14ef8c99f1e04839e384b0a097b8639a772a5ced7c02a13a8d0de74f32a54faa310402725add3657366e7dd948c705e6e964461c9f35cf810020ca121e68ea6637fb059871d29ba752dcefb6bfc44e6224c28705d88c19c5e31894ac600fda773980d5f6de102bf041cf616e722630e48553306fbf20f762a2cbc1a5b915cf2f89123264af5dd79dda87f670a095a750ea158e83e59c5f3e41af9f16122867e1b3693d6ed34c50a9ef4d83ac0500f4fb5d5eec5056b19ce62cc3352c6cc4994f55e67cca3520318abbd3807f6e0bf3c20f7f76022dc5b9a415c827935de0313049adc7b38ff7aaa834ceb1c9d10ac40671df8b7f891a44ce7803b65fcf9f45be1571bf973c9f0a7bdf6098ed3274c879d2ad361299e7187a04090a369f8a9af113a0a4ce93781e6a47ab7268e4836344a367687b38bc90c621d9318793f665ee0c2e94b5ef0181afad00eb642e76f7e6f3c2c5b30be07ece8a709a7cd3bd447734ae099467d617358a6201f673c70917cd1f02539cb4d8bb590f2148d5817481134148c4ad2f704254f7caebab6c02ec4ae2a81b53a44c631b2fc2d3f4fb75fdbd6a22056dfedb4375f224b8e26eab06b067617d62949820c6feca9a2920a37430513403fd9a570fff54f796385411f25cd8a2d99a0f8a41bd6f0d8a617419c8a812b0d3df908f4af818ecfc960c3de67280a04809caca13f253fbff1599280aa88583c4383e82b9f3dcdaae9547d520c48186e80d26a189be73e25ff4909d32f04506dae8a8a3c3c036f41cfbf788ec6db0059df06203d04cfb14303b74b15dc9063203a48743526bfe03c4bfbca0973d613e9afa63a12eec6c97db665b870ba4b0bb3fda8885681c15943eece32651bde43e5b03da37b24a66efca5e3825c6b9c350d367dc951584a7cdbe28f0037b6d6f7abd6854f1e87876cff34c8e04bcc1c946ac6321d9a2f1f4d050d0f477abd6fe3d8fead7aa61089408767a022a5121977035455db92c997b9b4c6caf30f371c1bcd1146bad3e65b2dca3f60510ab4821dc9e9fed07864c095a9ecdc500104f51981bd2a1ae676e4a1360dd586e75390c2dd591f105ee2f36cc1eef7d46178cf62b590a7dcb6dd783798d8319ceb476a8b48962cf23959125cbd98518d0916fe683000bc580fb19994b557dcae950536984809fb28d4da90d89334c246857076991419bddfa3d0c4b4e8bb163b4be109a1d0e99455249e950c6c3897fa8539ed98fdba3d1d6e25ae58cab69430f98052d7d71bc59459c8df3508b76bb539896ad1b5506732fca223d10f7222c7898b034adfcc2ebd697e9d7b054b8fdb507f388989b22849f835c504789a0e48c832ccdf3864d8ab7740b3f4251b0389cc5225539c0d653d98f9ffa2f608c7cba7b8f8467bc3a6d70109380ecd5a70f7cdf88caae94253fcfa7a470591ff7d82356e326ed91072f19e7dd55e811ecaf7bc1b78ebc0aaa5c488ead9c3a5123765186173129998812e0da58d7b55017424dec3be223e2f5ac41cacde4e46153927bcabd44b2bcc6cbf571713d0250b9c598909d0ce1072158015564cb69b6ac452d55c87627c394698e9d74a0c037770df536d5d02bcee7e16c7937e3c669338f6ae50ed49c30cfa4dbe82c9c85e9f729fb64dcff8ce644769be9fec2cb13e75c00242d7552e1c39a5e993c9e8144ae6c21b8ac5be2e6c49b0c93c77a2ffb47daee1ab5d6f528c1e3c5fcb93a87387ecf234ff4f61bbcde5fa8cf350dc75e766524758896a5ebecd6d3036e14c7308ce16a3d2cef2d6cbc5a4152f785b0ddb1c55d7f1421d2e51597d41daed33bb8a909e81c9a3d3ec61e0862abcb4e08aaa40f4ca87199783783eee530cf776056642f03ea4b2e95a4f7e0c5e11fa78b62dbac0c4082f7afd10ecc8fbfd1edc3d378b45efc07ff19ea85d2d2ba37fc86fdd5d8bd555e2faeb8bef2dac7bb3415b5dc07c167038e89d0fd74ffccb31cd6019192f06696c1ae8c249a67a8cb5812069d3af83ac6c77d1b8596f8d297e093d257fa860b74f9dd513d599449d836c9db28c1f6314f9d2b9792e3af854c3678dbc896f3765af2ceaa176bacd721e17e66dd8bc9a2fe4775b1b8a041fcabe66b2debcd5b4086dda38f09e6f3ded3cfc87eb42387df51d97a2304414d809a5ee08eaad798c7664af1ddafcc20d8d54f62ba5db91b41e9f9265eb273fa5e3a6667cca42566f6dceed048bdfc72ee62c3eb08b6907a0754d0e10cab1e14a989fb17da3cc3916dc277922f5e420817975e1a83a3849298c803e1ddbef684a0612739a58e152884d843c146e56bf48174abac805ec3ea18eaf32cf06c2ce22c759cb83cedc35fd4f40fefdb988b12171492fe5a55a014dd2aea3216dad001826277a170ef385fe43d581f8206a6de093e006c1467614f325eee8f5664533de38ec110af5a9813f5d27ab2d7eaaa4285242247c0eb89d886a099b25190f2a86cb9deee33fb792423b0f6a838e3aa86ab1eec9eba6a78fe94e14aa723e10ab90cc76e26f0396713c0b059666dfdf8d3885bc0812386020df32b04bbafc85ac5583fb5a5d0a8f27eb3f0f79164da0a7d9dbfb105525160b7c01dedf00671396e171f50b12c4a12badf8d1176a715a1f37bda2c334b1e23b18c8341e07d2a556e552fa3b1eb5f22f120408daeb11d3ecde9f94a81278f6f3848a4c2c81f87074877f36ef6dc3a5ca155fb0487b417bb4bf9fba48eb0e2638297ff6c3cf3b0c509086f63545be11fde0ad26219474578e0401b5dc763ab3af568e882c8cae9150b7bbf5c35d44700a45ffc330adf8fd5600e5eeac309afc95f0610410d4b64e29f2a09eb55474bebc873d48aa76eb2c435686a66b2c1fe57366ab1c7902a24422c2efab6b1b31f7e419e81e730a3f87fbb63a5c49fab133ee2ee4d4cdc87a265c9124e45484b52a004364b47948630480f619394aec35d4d6b2d820f58602f6d2dd6e86960d73c44099682d58ca41bfc238d2c6c4f54d2226e6fa00b64d8e27db573083663e84c65c8630e077d55e0a696d6094891bea1c91ff96814d9e766d8d53c87765ae448dd441a82a944d5e5d83c24fe2310891f2a4c3113cf71b3542cfb71d3b0ccb0127542dda24507866a290bfb929b49b9f177ce1dda703b26b79c4b4bf5f8399f3305530a874387554e04b6ca28a7713b746d7632cce5abe90ec527a79004c35123dd361c103b308528dbebc7d32b608bbf516fd81e1d4b26599176e0b2db0ab207aeecc9a43b76139137fcbc224798d9137b8170b461ac228d6af6a6d692ba4babb2aae5f63f2c6e18e084326a136bf4a091f6caf83d2c3896145180bcc556957b8e1d1709e5d16afa1b9d03a7dbd7d1e4b03112a63e14799810fb338e9da129921f57838030ec58ea6563194eced49ed83f72e44fa1171f5a4ca03ee31a5c76aead563a49788e3036036de8bc510ef673425da37db5100de44e86d190a607673cc2e8f4ba49cb2627c4f6c4265f6dc3b5c9c02f01b15e9792d2a1663fb5c632f364a87d12a4e3ace2954e68127dda1720d050f3f81b770f099a858f0f3fbd8fca4b0f547fe34219283e0fa8a5603964dc58b1f5f24a36721a6a3d69ff8f8dfea1a91f6808584f8cb9422acf32a05ddbb1caf32060bbd04226a670f91c25866257bae6525f8fc653b997f34a2f3e24c58b84d12ae3fd4375efec003525e96187b727f45972ac8d22e62861bead539a9ec51a216f25cf1046cad4b2ee899209d360199abeca57c5a0823447ca1847cc717216f165868830a6d149b3f95c764170d84e43cf3062108d13f86c55ef218fb440da7d64bb4874454511b72aaa91d63932564ae27eaf86a6bc4cdb296ac30e4b868f965f8837223670c4a68573306979dfd00083d8a36cff02ce1149424543a7d355eecea06327fde6049359e77a13920b454ada3d0070321cb2b05427b3ec907ebd0538327edf1aeeb58bfb671ac8761d9a630eef240ca3f0eab89b950254dd843b9b9ce821ef66670ecba21306eaceec38a6adbe6591970e046879b84b3a5c0431c74915e408d5daba9728e62bae9aeb0db8440c8b29875df555adf635c7387a856a0464a2129c42ae471c2ea0f0fb132c9ae209015e52cac7a53cdd4fc40bd16c6c4d986995d48739f4613f7bec0414a90ed1a6bbe461b9667a9c14eb95b7b77e6f3d4e1c7f39cd3d4b971ae1c9e5c1a740a628b6924168b0d3f944a8c9d5c49efb5c9abfea41bfb7c88cee717c3237aadf7982aa1569f1e5b8494f04888c0e4def07b47b98e43d188b24021264d56d2c6536ddba39c95e36da62bc144a1d65f33177df6e03112ae979d59fe0cd52dd14765b59704314adb6c9fc12ee1fcce5442bc4075fe873f90c172567ad2320865559125071f9154cd46dd0dd904061f907806bef065bf0d8de12f9e92595679f8dde9dbc97b082e272e65e3d912a4dffeddf2847502b09b978b297ff2105e430de0ed66a049c6f2add6d736d1debd08091abf3db4e842e497feea34d165e923cfde2fcbe8cc24a061c7a4ba2f07bb0a2ff571e54ae560d0cd2e9e1503eddb3ea473917e446a67f6b9ded218375159bde50e6048dc21d02a901f705c5d43ff0166b047607e86ee27282e76784065e90fbb2b2ca0461f15eaa63e61d95dd18f660dc24da744843639a758c62e29df5d34f21cfb527cdddbda6c5ba2e62b2d3f32c0664e6362d504dd911988b3c2293e04457c4de4500dc46726c55387cd9de58265bdc61754ac48b0562cceb125c1a5d3670fa5a47fcc4776f4c6d55bd54e6b396206e3f716e022a16d5c51b454346a6f94b78d09dbe8b59262821b866dd1e0da9d6fd26ff6a3c6b6058242d9d4e89400024bc30de66e39c537f7fecdebed2b48c867d43074879e782f98ed67c5c30859d000d9b95a0cec9c1850ca74a9a9197cb6c68a025f5d172f142742ee97b3c83ea80cc89a53cdf3c09c8c341cb57ab37031f10ec4795f469749a3d124e57d465aff77ad5a2c4aed0839c73822006264daec877d674d97626c65ca83ec9610546d1a9a4cd7e5fcc82c2d8bfd7769a003824b4626574d5aae9f9c5321f6bef62585b886c0c256544ad8b71fc9babbb72150cbe83b7ccb1f100c3cdef92e262912453bef6c7d3a3b16460b133d82d9665326546751f4e3387b90c59b33e8e1f24b6ecc72d1c378230ecb34a529d04a9894b4e9edc348b2056616a0995f5f1ebcba9be3a7f581fc2ceea511af3e83718028513a5fa76d8bb2b861b37fe69953ade6113a7dd793025e8db08b61bfc2a99b34cf9187a06453cabfcb30db6fdab155224e006b9cc4598db482970d2374dbdc700fb787e55d714f4d358ce877cb18dd3471112f3ff45e81fbecf5c80a2a2bfae0ac5db3f5d9def46a3c73755d3286196600120fe51a2f1c18074c29fbfa6ff1015d0333adb689da78242af51c3b88b24c6a52c1cd0f9b09e13127c8a7b215bd100bd7f3206ca718a1ff9b5109a7afc546f8979c5c61b0f60a0ab03bf3762f71911ad107d3fa6988212370f523e5190f6215c4e9c81b099c6b90f2cf710b695b4054c1b3c6737def96ea8884dfd4e49a0dd545eda85131dbe74863c72c0481cab2b75462d92f19ff34e3a4f639dceb3d73f1b33286564df95c251b9ce5170bb5d6f4afdd16316dffd427875908d6f5bf24f95a22f8501e95d7222eb28a937af5622274fe055087a47d99591e4482ea48cb4b5c3104f9b1871c890ffbe179ae66ae5e7c80c38ac0fb8f100ebadb9e6c2bff082f86b31e8a21829e40856dd7d89e4f96ba7526a954a987a42a98e8c71fcc46aa7aa3943c368b55bd1b3907851990d490b263892d745e02894f80ea46bc12b10ab932f44abd18d9af0390766e749499543b6eba69a60c6b561fbc21c94190a4578aacb1d13617006dd9c76a66c8636841125ed394572eb8f1852d61e347a3c64c70e2969cb9440b7813bb1e44aeab28e96e3acce7582b3859cc583ba7fa4569ba5c9c3f55bd28217f9fff41f85037476e3b26c910221ecf4871e499efb4c3bd6b4a67e9c1cbe6c6550e4bde6177172e1222fc8e9a4f6027ffc0aef994d9395e8048409136593fb284409a092daba9eea84d5bd62192d2a3dd122a84e4ec5204680d9eadd212a3c85279b67c793cd95aaeda418ae918b90de95c74e837e52dfb13b61a3f8f01e45be721bd1c8d465c410a3b53eaeb382e2de87db4476681862554686badc431aba96d6ef501ed9e7d70de8c3e314597d8c96402b86604fffcbac0f1d01f657e55489c64c048d24cd53ce7604a3c595801c57ae3c415abc18f8cdebe1ae26562250b74790cf1fe65f76d74c3e5cea25ed4f19c7c72e62e8224568bd4356bf36d7f8bc72a73d975d1521bf3c5c03d983ea172f634e7afbdcd5e92c88c36f2e585927802336a25fe7b537b0b4d7a04d1d478a46da1f207e199a51d25307c4854c91f913917cd1837fa522610f249482fbf4d35694e494672480f59d0a2951c159874c0fa3fc47e9f2368897d1c175750cb4d93b81a2c3773e0362355e3935a18cf839c933a09bd742b74f850a38ead416a0c6bbaed2e2de7256913fae0fd522d986140fe8ae0bd32da7a4c6a3b0d9808cebd04a3abdbdc68e0dadc7a1d064691db5c63d4b342e1db56590275e81ffccef24aea34ccced931020eb72c9cf20bdb0f181d73288d69fc03b05839beb4bad089153e649f2d6d40cd4f4885cdeb2c298c21586142d28bfd636612205b2bd70e1e08ba38493c0204e0acf7803ef673b4a02412cf15425c7bd9bc6f07c680b766d6450c5de637cf2f5f91fb1e4e93156bfbb28cb105b1177ebed7178b920de7afc2a4411c4f33cc189533aa7acc3ae7d4dd093b549193f6fd77b91d03d68c7f4405ba4d114b782d1095d83639b9f8a5f99d8ca14c001ec1737c1ca590684f3829365a9541ebb9382fada35192c0d6cb581d0d3bb5c018cc3b52412e6e3b5454c5f7e145e1c631feac294e865609624dca5f3968d84759e92f4bb540671360415e2d8cf04419af9f565444854000122181928ad22927321858d5b3858b5e317236d61c714778b4f43bcf894f56d70bc16351026972051c8a417fc49b45baece162d170ce4f4583b29e47f8155d76d7d861be79ede493ddec0f40bc9ef1dce535386eb3e2b51deea4d7e8fe3dcf0dc31e82663a87defe3ef48b1f6e0d8fc43d2a599d27284cf40bd6d58d8fe79bb8a3761da18e40e65cd74fcf3d13e009ccb09c3f5a9be219d3899cfa628452cc64c03eaa36a787d9cfe43afbf6c3112a4b45c47c4f07fd23e5051bc666cb913212c337439ec65249c6952a385f4cc1c9d77b5ba38f7ffba769a3d9f75c67ca0ae50efe36f7369a6e249d84bc72e0c4f6a39315a3b67aab376b235cb7b86727bf6e71a57513cd9f1bf858735fe1f32b52ac26644921fc404bac5418833ed10afffe619234d24655877515e60f472f225e124f90d57b2feb0e397bb416ffabe8374e35746fb6ef811e881d0f9c789e76385c07efbd539502b1453cdca510a336424b42fec3e57d2d96704a1b58d483c94fc52152e1c3bba24ff8444bc06d47f3b62fa8d579e83f4ed0827c2da7eb79dc1b0e3872152af05c472866f0bf6d55e1db9a8c2cf69dce48d4ecc58f6809f03f249345f16f68c98cfead4376b697757b7d6c4516f9a80bc7a9849267f4e78b200cbd7d007e1a14b11077db80ff99a2a13dbfa6145a7f549f85631bc9f31898137694c33b43bd9bafb0726353fe97c455a882419841ee511056f3279539b7e72ce6e908aff52db157293868b0af1990931640acfaabaa87b2f9deae7f5a1c9361f293e7604baf92d87f55af8f7429d471de947744eb01790929fd30eca2123e90ca48de1284b9285b47ac65107c91a36395b4f36dc6693d2f86e4ba38a85102a613184d4c85701c6f8cd9b87f04bfe341c3da49376bc0e72a928da0c183c0fc015405cb16319ea134f21ae122724f97a861e50794822b2ad0995fa28f3cd16f0024c6dc588a9adb6d7c052e0ecdac6bbf068da88159fab5358c54a4b8d02dcc3cca4a41c3e62d082d756aa1f17bd5fba1d790a286518a0d613c612d56b609183c32c4408e9ae20237543d0e0f52148833a20afcf8e8f30de63ad32e5d16a4c9fd008d52bf3886ee0aff122c01322f4062a6d041910bdedf8c2bb70030baa582587726244093aa5e9e1f689f52026051b108d35dd8d5c0adbc33d53544dee66d4b5231a38c5b7af99ea01a63e3fec4375c44abfe32df8c83485614b97553951018b87a25b7aac854291220712a972833d985cc157a67042a0e0379cb7f33d8ad70dd7842968505f0ce52fe326c6bfc6690ff5412c7bae045b8f6266abb0070d3a88b30f898331ea31ae12c08aea0b63ae553155119afe007705ad1f52ee34a8b679b5736d651de5c31677a33f8fca3fc790eb5aa744d6290f5e0c9be50b02c58b9da07b819eade13a29fd75aa0d024382613ecd84842201114e6b7f6586dcbd354caf8b34673e508bb62c284e9e915ba91f2a16bf8551369997307c4081b40a5c7f065299ed2cb5c2729f7688070942c44be1e94e4a5a9b57c520eeda95c6a270599321cb8a21895e580fa60a339f81b8ec0d633fe9d98d88dce1f146f7e5ac28bdb33c3ded0c38901d24063efde426ab248553146e4f8cb9edc5b50860cd0715b2e53f2e385d4902927dce3031a47013855ffa3dcaf6733e884237c8f8832d4971969680a4ab7b18b31c84d7619b08d70b5fc8f6eb679f5d8a29c0e9b09c4fddaefe2bafadc4ef0f63e47dce0c9c744a4058dd834d5c169bdfb6bdf9b37d90a1e28a24335809f7c52204cc39d0d8785aef1657350ae6e185f8aeb3d1cb821c328d494309f7e6fdccb073aa0a9171e9e0df85bb1158c544e67402c3b96dcbc22d5ca64bd751b986eb3b6b34f0f7aaed012780e6fc349c72f34eb838a0387427278ac62ebef125f6323cebf274f548ec862dc59ef56ed382aab035a42daa8f02425e7447643740f90a465d116bbd51edeea31095b6cf2bfda42386a8d11e176bdc02d1e6929bbd3dad05a412cbd6a7c273d90623ffece96a21133121190d1cb60f64a040b3efa0bba0d6ebcde63cc8729d6de848bb5f62c464d6f00d12f338bc9ba40afff324288b0ddbca4377e5a5614172eff43967bd8f2d9ae856e9f9be499cc02ffd0b3ff15e8a3099a1c0f3f3b68b4e866b7b61572bcc907021253258070682d4c241583bf894cd704ad59e16d8a33562894b8d8489894c914910c88e4d1fbe5de082ed666366b79cd78a42e13a0526392d545be9367643b205b6b89d558a6071816bb39b60738ca2a43b44420135a2ecfba6ec1cafce832ed0f6a90697701a9a56ad30ccfcac79c15232a9995e0b65490fee090063867405a2d858642f1981b6be71909ff65f5109d795c5c75f6fe3aedbe8050bcfe1da97e6f0cbcae0547983b899636d16bff565062887787796998e0fc2ca254b82e9e482ed73538cbaa946a25017b42bdd406bfcbcb0821d1451b4445572b874182e3f490f0d15795a2eeae8818ad26ca171aa11af27d5b8441411b4f7ce0dd99d4149f63d0d755bf5cb13e046e8957cb12421d02514884eb94cf22d22a04358406837425c87514123f93a724126eb233601dc2e2fea156ac6b2767aa35e781c54b454383258c5ceff9004db1ee2b88a3ea597d36f5819dfaa7feaf7f3eb56f6308d9687e5a7ef8523868c1cd46fb0ea60a53ff0d04e03d46096b5624feb77550e9fda9e3138ca00124e1111c643dc96d3ddc35d4ac35db1fcdc261936e7148e95cec7473e9ab8fe463350e2d9dfe71d51f62162a13ca88fad930ce58424f8fe4aa333aa5a7bf925648e21d4004db2ad341cd1196a53d0716dea7a4d70f5428455981c40c25fa72e54436782587a3cef93e686ad7ad4a5a24eee44e67f53ffd678240dcd3ffd538a3cae3fd02cf9c546babc0d184e1571d0dfa0450be1fc41820862096b986ce526f9ffee6c30b20f6f54cb59f3e1dc1b38d14760868272451efde2dd53769294114d585aabf83b470619cbc4270eda66bfb9832b449291e58ee1091f416becf92c7aecb2aafa0db33c1e1c055abdd16cdbf13a96fbb1e7c5d39e76307e54edfdef761e8aed42933cccf0bda865bf07a2332e173bbe61884852c466531fa80471f5fb3896fb4863a5c66c3d4258e2d8b333ee5eb6b9d278465915dba711efffde79b199232bd4560fd64e34698045f3d3caf833f54074878b75318c5411f9d818f634cc19d13319d74df93f34b7740b7607887e855842868dcb111ee51efe943e781118d3468cbadbce9f27632d0eef0f4a7bfcd86e5bd95847e7236925b585ace6a526040188df1a7a4924f4ebaa42dc416637b6fb22d173290ab59733f48ff907b26c453191115a1e73dde2d58b06c8cf6d06e8098e1971de3c98524a235099ed54f00114fb8e78da82a87c172afca4e2b52bb6d34eb42a440512f82c33074cd2614741d8befa78546e00436dbee9e0f7ddd63a859dc78e6801b1923b43a578c59908c6016dc23a7aa21933607ade2302229573fc91d9afd8bb5f2abedc0aef223a8b046aad9e553c0888c5d493005462cad831bce6058706a48e31621a55b5991a6233cdef5fe221c31c5c68867a71dece150543f835eeef0a22f16a778d947fef8c9a754e0ec837e6d20493f471aa1f9acb716d835debdf118479ae7c68824d100880381e511ec7527d18df2a77bf83cbd64cd9cab26e72d5f5c7f9367026b64bb1e34f70868adc748bd12a7a0f56381225f41c85ad469c234fe1dd3b9ec4a50c94f29da856273e6207287bd5abcc4bac7282653b3b6682d33a5239e64a1ffc53ee7f2beb9d087f0a24871f0a94f0633ce76f4909103fd84ab12e03b2c24e7a4b2e09b7d6173fe0bf04137b40f0e78aa1c62f48b40626ed7853a208e5243654bd69061d4a379b9861f3e73839ad55bdf660bb569f0b81f46cc2c6dfcc9de6dfb43fc21e4193e90f82be54bb4daa6cfb188755bca7c35835f939d8f5f538b952922c91f5c9496f4adda8929c731d6314b0dfa3a5114f8f897b458c5cb557156dcd2de4a95b5ee87c2a1708702588b8b6cc7f3a972b018772d9cba325d24f6bc5ee0cc94beadbea8b6c4ec1db6fef523eec2b579bd3c1b3fb5927a199dbc8540666f7ddd5d18c924b71b8bc8980e3938e638a52b69601414247c81002179f479ca65a4e7958ecf7115d1b0ef65c4b60c32e87356fd0a52c5f4fe6ee1370bfbcbd24e743f4feb67bd777f8aa8a7bc4096492f349030ef3219f34a8de72557457b7aaf808ad27694a5741ba33f1855b976fa2158419f677ef0c6e356bca2b33f65ca3b11e7a96440d00c6fdea407d6c3b1d86ceb09f03e8cc3f65c18345f431ed2ecddebe8a3ddde6605810482e70ef69e136fd95acec25c4c8bf0000014b36213bac0d104db030393fc4c10df0c0bd160f68dc987272d5242dac74b0eb9dda1f32b2f810b6bc4e5be651c2a9c41142be092e71ce178315ed02afd76a4b9a088cfdfc473715925270bea37d242ee0604740afaa9c309aeea0b0ed96e1c75ff7ab6ef7919555a6437571d4e3a1aefdbc681248d652bc5944512cc8b77fcf02310d199a4979b88c98bea17ca0a6500936e3a4b57c32ec18ad6f44e2249ed6faa8d2b9cdd49cef12df3f3aff845b4d89c8e48e02f485ea627e46bee54e6f8c991c5c2f10570ef8cf7aeef04a69757878e8ff14144209e323c41690e662265954fc2db318e3b932431bc806a1d8e89379deb2b8d92442c43ec4df341a70ddab8c4f653a119ccc1e5e0ff04a0dceaaf2bb761754e2554417a1c656124e4ce6ea1055c961b90941bee41105ec6b17b4e85471cd81ec0933d834701033ee03cbcacd607e70e7e031edb77ad8e96c165bbc250502dd32f8170e9b5dfbc3b666c9d47590e5921d7f0b64ad2e39e6bbb33ceb8da79781297e66c96e5ffb2f1e03a76bf7ffb5c95b4b02b6be5ac193eee6254e983abe936b7679779a8b8d404edb85b869a9633fcc0a391b16de97e84f6741d0f6a75601b5c6e60b8f401cf72de19dd8196785c072003711f5e65f2b51bedf62ad0781f7e466966ca7c54c411a8c3bf1f396d9f49a48749758de05375c1f7342407090a975b1ec309107246c7bcb6b9a44109892306a8fa3a8e3c18df3fd3a72e870a09749ff4715d88acd427d9e12d68266eb8d71505dce674d86ca5131a7f57271c1e0e536fa961123d3b5a2ecbb50d28eae5e919dc937d976c2a20b0fc0dbb9f94ee76626dcbb5726fce5ff647c1c9acd17a3ce37d1d1966644935668d960752bbbf35e1936b0a87c876b401638a6299fef5755e3703f30820295a5c8fdd50a42e5b12d89a5ec01b97ab33b8975b23917fed0d711860983242d4f8b71be8310756ca062060d4e6ce5c367469da123daf4a4f057fb6c831faeeb0d09c64d2f715a2ea7517f9cfc2059ab709ee8c4d9b13b0b3025aa7baa0e23d5037b7cf69d7ea578329f8a38576b2245236987bed05a2347d0423cfe26f48bc73f59c3712b366c6a374d22b2e98426d5da91c4b7b2340a6b3449d6bffb289890e001f82f50390a2a78d77111182da32fd5973a92bcc417f3fa66112dfefb84f34b504c7a9b6df14d3035d15fb0431134af001c155df2e97a07b2ddc3ed43b9676a5833ce7c1f7f18fbecc64066215a8b902ba8740edb63a950c073963532fcebdd9dbfe8f3e9dea2b27e030b1903690200ff619b80dc542c07cfb3adebf63297a7b78a685a2e044cb35e2146065f0892c1111bdfc9bd2e109c2d6dbbda6ce333c4e68aaef38654a3c590d623a287f62e37f10ade0191d0d5b8abb1fa1098158cd3f9c2bbd85b493dc07563512c25539bdd14282e2befb978368db6192e55ec74f6059486ee2863cb10e6a227b883b56add308ee9ce1b36ac1e46228528b3b9c455d9f6906920c0ed5071d5bc560550ca3872f3679ae6d025accb126a68d0b7aa1bbf018524a48bacb38c141774423e18360ebebf3002b9523af054bd4fe3c6a33757bfa8528d5b4dbc754994bbae5439d8448a6b7146894393d14df0e920513d3859f1f052830b0a8decbfc0cef1a3ac1f7837f18268477ef66e42aaf467a00c0a09d9f2734b2f7000585ddc552f3c9613e4b150395557309dcc2605d8c83756e8e533dd374115606a431980f88bbb62beffe58783756c9077ca7ecd40bd01e5a8fc2b0538e4257f0c1ec7b30be6f44c90ee19fad402a7ee7d40fc474026e6c4fb79fec10cfc1624fc7922f93f0e2e2ce435f62b0b3ec8c0745b109f59db304f644f385d2e2e7371410631c94b4ba2188ba3f7c23fbfd786609e40b1c530e11f41f32d67553e059b9853cd8d070fcba5ee8281ba2747e57fa2a1e86202286def8c302f425720acda0c9d7d093fb1e22e1c4350b58912c54c957c59203a23142c4c8fcbd68f098bac214cc47f76348375c57f73c97ee080c5c9de493f5aa29c06c39c2243f42302469accab3253262b12def30791c3d04c842eee629aad44e77dc89d3c4de69471a74599642fa07ecf622f702a54af7ae1fc6f3719442c17105f2f195175bfc6cfdf99c36547c47a5545f58b1f332e076be2d77b9fa4426a62c4e6a962fe8e393519bcfcc3e9c106689e08104799c17df02666c9620c04a62ac6d07ea2ea78e2313344d910dd3f54befe893450450d95f9056617e5862782e48ad282a8572ebbe966e0d0375a4a318a8ace0d92be3fd6170cdb0fe0d810f37be5201d153cd0305936bce4e4301535f267810293ef41a7807a0369441de320a3c8e418bed96f7695e27bf50ee35d00dbe148dc7cb141449c80116e392254e09a003cbabbc4bc192c870570ed6de50dd7a5e45b5d5f914d3ac802228d2bcd54dc127f9ccc733544dfe977f50d39dc0f25b721d9ce64c1599c710e3ca572aa12238e78eb73f0f8f3a642ab2ea886e3233889290d11a67c819fddc7ad478cab6b637e5e16b5465aa8d0f0c23a6747b29425b8b13c1d0fed0d3cfe31c14bb7f2bfc0affbcc5b4d84e061c6f716867f5507e7e9e5d845f0531a94757bb08dfea11d6736f32090f5416861118f8e59287726dde7029e4fa57468e04282be0ee4f24e0606df8b2be87816bdae20b019e9613bccc4eab439b54b004c7a51ad0bb79d3ea5465ddcd5cec7cbd9f498a0108febaaabcdadeb1022522e5754874f1f47ba2210330c21f867c3bd43e35488b3e40bda21235dbd10c25fa532db5e524050a8007d1efaaf1f329fcec243d1542fcc10c16b4ffae2a427f129fedf227fc71b311fa2149e7eb39405d522bba96fa83ed08f6b9a06b9a2d20b7b7e35290b1f6c61ec17e564d39f1e526ec19efeec196624b0d568244b64aacd05353cdcfaa2b37bc7b2e9a6040944d433e69f7e93903fc0674eaf13b82758e0f0632123690deb5a9a7acaddda248bf723c7ccd5a333320130d9edcec9f016a43b17088bc5277be9cf36e1000460fa9c4fda64c002d8d17cac2513d004201eecca175688a06e1522d3eda5960e9ad76b6f690ad233e88967965104c9ad79882953b58e1932f1a17909ecf666f2e135101a34713af8ed406cfef3efe53c3fb7c5ab2db218705d9adee92cd59ed49ed113bf2232f8e3eedccab7368d3e594208b1e795407064ab33295626868e5faecbee1dfa0e3c5e718aaba83b8bc11987f1c0471a3e24d762a7db44842781df7f162d9d4c24b3d8defa824d6748d023179de6b30945ffecff09c331d9ad62fe55afb1326334d96715ec130ee507cf5270ac47551333b0903f263d8818cc693db56d827508049b90a370d8e476fa15c0cb0acf22e2a4f3e72d3a5bc83a3a00edccecbd9e071e6b5817339f2733777069e656080fca0f3246d525a1abdabd537818433610286fb8e3c977d0f87287310dde0f0cdb9b9a5e0d29b997e2aaa04d7fd6ee95ec9de028c83848ee5af55199338411fe771c111ff6ed103a22d84a7d70849c4a33c0670e82e6525efd54417a82bdd79f18bf1d5e4e3f3c2b1692c627a912cfb78162524824131c23ffa846ad34627983d5dbdb3de732b9a55f8f1174d65739d67316162d1fa78d14eb25289e389f24f1df49a704b576492b32923b19df0765dc94f383b1c4fba53c11e268c74592bf8bc3c041b97153f0d671db2cf39758b9ef6b3b4ccbba877d2fcc1404973f114c934f6e5639a361cb9631fb02760a6b09b6c9a025a418cfa8d76f79bd4b0fed9c716300fef86e4615b907f04fbe8e177b5f6e60c07a301e2566ef92cabfff90ae8073f089d8964ea56492405c37b2da57c49e4eac73acea7675f299e300a757f9a117ffdb331a2e91febb9380a34aa5404a33552daa9451dbb7b08f25f10b3ba91882af3daa79c1ee5e48ec363bfea360698658c66ba09e24a0f423d8f8d46d220fc8e707495e0c35402295dbb12c62d146f6454b26c8b6b98f96b5117f7d8bf68eb3db54e1f2e16f5128a4fc6e7821b36b4729558deb2f415781a62f4bcc27ca6fb5f04fe065229ea9d9f7d79f6cded81d81793757d9164a6cd38fb9d12bed19a53402ffcd5a6bb114e7f59cdc1523d5ca6c92bec126f75d9df87bfd2f6a90025786518e1424e643703729ecfbb504fe948db2183ddecd5c37a1b44ec74babe2d6898d459784e88b8957ba7857ae6319dfed6635db09c4ef383733e3692d78e49a43e42122d30739fcbbfd1e52dbde68e0cc8c96fc0666a222cbfc5f716de7827253cb29b5890e5d7571eba8853ee4c83d6669cf4f253363538ba588f3bb427a1d2389b0168c424ab6e367ff7e9d938c1e3ddd400ca21028f88045feaf422bb0c83ec93d26520bc9853d5581e7ab0d42b4ff2e65da58859be5e60a77648ce4d0d21a2f367e2f1d6310ae34bd5936223eb8ed580e91a646ff234981ed1182abb30bb7cbfd0ef2e0390abcd6170067ad13ce5771e1d0bdf7bd06ca80840cbddd7fba47e96387da7996bd3d044cdd76eb38772b50629be5d9915a6159c82a37175918fc6b1519ac0b1e1b40362f30d115e1c8e815c3d0f6258a043cbfd4057762a8eedede7d40bbd12d7140877c0c5c0f5027683d4c40bc9697d6ef7ea0f8846eff6f0da550d4d279803940a76ad10281a515f7a4498f9d897b6351ad77e7361dc0145658277c2325f0fd230937f508950d79bbb7438fddd732857109286e4e05db3938d0fc09771cc96c331c2208b4c2d6f79f64695939cfc82039b615810aae8e0d5d24f0af0ff5c93c7b4b4e7ff3f6f5af6197822701c534476b5248af7897b35046666b75702705a015dd62b95f02629e7544746442b1e0e320b8bdff25ae5a516baeb86542657a73fc1d27f7492ac94d6a951859493bf4d1bc669748f5fb78e3afa5d677499bb7b9592ad853565b4d924b80a3db1d2867b046d6a09efb0f3203f2e8fc30b994f1e807f68e823a93c8695357421bafcbdb4b560430105d4cb74494bfbc8fcdd9e1282fddde6baa995b254abae2bed766681fe7cda1f159bbe64e00348f165d3c3298b7feaab929310ef0472cd180c44541d31f9f540d577ce7f4dfd85088fbc3964248a216e3523e5609136be29fb5586e300b1df4cb90494ca8502b359f60e23d6e82883e751962e8b442639f7c15c0cc3b6bee1290cda85b1eda2beb4dd02e2a7055d7b87f0c1b8bf60d84e105a6b049f14ba061ab40c73a8ff7806707febf49e9a38d8718392a2678b6a405684b47acbe230ecd50cd86949ec2e66defde3d0c013449d811cf3fd8432eb58a9226f77a997d3b55eca2d23359e874f3a139d13759cc1df35949effe8afa2b93159a2703b07234a06d8e66afef7037bc755d95f0c099c17817f26173e08405ded4e9dfdfa992262e19070b460fc4447dcdc03da1a14b3b318821086d7516a7ade0f58cc5c46b183d8dc7cbbc9cc6c18532f55461943f021233903c64ce4387657d874c804968e54f2b2723127d6bf081785edf51e001e3ebcead42b92903220b38f145518bdb505c4535b0b91b56abb4cea129554b5f00312e2661189b2ba7f2cb7222d7fe623562bd727a3606750d1b625c75d2c2fc4aea99a1c64757203fc631d06327baf1ff89584b2e56cc82720a4303a15e656143c7b284a71d2a8ed76f40a45e8bae89bc814266d115143d5dcd9c8931d11245adcf8710c109dede8fc3cbdfcae2f1606c50a361d44037c38c0e9bab13ed216b8a2c0f1d4757a468756f8c1c4e85250bcc2264212eaff096e13df3fd765950668275f102bcc3d510643ceb77e562c2b7fd828e78438e9bbd9767d02fc491c73d4b46e1a03642e8d4dfbd71290a3c7291dcc010c41590c1857795d6ac2c9c9a21c3ccbe33299818753de89eb47e600bf1c074d73e2d22bfbbe8950a61397a5c954ae83f1a5ce4c071c3c56289be2c57b688eee4e6ebc3e6e982ee11712a85aeee42efceaad1783c05e80fb09c0ea7494ce165ba659999bfe8a04e2c7947b4dbd9f3f09030f2128f2571da82f6a3e4ca0fab3a8131431e83f7300eef14d13ebc3843aac7581fc6ce69841e001f658d760fad8b242164d3c5e0741b83b4de0e12078ec4084ea568392f8bd02c5076c64489e460f5ad3398ba18d5135944c90cbb0930e4142a4b6f869d0901e37c1850948d365e750d56cc85c95a5c16e0c7c49dca74088fffedbde3c24da4f4ca0aa29ebe76d4bd5d163fcde4536f7e6d8d06008d8e7cac4a676dd8222fdd9bd1f2371314fe086388d63137877a5fbd6702a0530d3d03febe57bf4b6580ab796b9688dae103e5f35f1b24c437cc5d3e5cde286d9e9a103af8a393fe7319f4d4d4e7cd1166099b6bef04eaa5fe65abdc4343fad642c084052b0e470d85de939d33aeae19579a9639ff24e531e8637ec4fbc7fa9edad957bd9c45a4e7df98b791303b2a34aba95b4faa7ed5cad79d6b70f22ca4159b6995dea37b6ba77b97413524468cc40c16271d6b5c839c4ab957ea29b59686f2b41e2e412443bc3a733f1d06aafe7bb14ab891ad5eac796ce7b693036014bc5afd3ef553b80d6ec5be68030ab542d98e9d91b5624186a365a7cfdec6984e137331e2b4c7d9a891b0dd69f78435fd4ae36ffb5b1207da8c2ac9ccf7a7ffe2f1c4c4d5d193491e73ee0df00c94711676cdbc9bb507fe2394060cb39416cef8d1054dc1d15ce4cdd23fad6f5b29dadb2bd8c708afda403b3a2b9731da2da2cf2bcbfddcfa8f0bcaf2f07dacfe2a7d72223c013327a48bf7712c55e0d0beeaae4e6c2557175090baf33e8c0f582e8fd1578d249596d855f0e8f9a5752882685f992b709239c3e76f96ddca4b6d19aa464d1d3cee95965748d1caf640456b7744f439483a888ff1eb5381141fc36120f56d3fb05348196d040206997298f2521d304823e28aac493fa03fbfe8889b1fbc1d738a2fd0489d8590e685f877a2742686365533f35e397859057e64203bc4a63b6d1643c6aa0aea342736a77a1d0a7441f3c13b90a42c5f23a16089d02419dddc19e37346e1b6ab50156794bc5cbd10c703934d1a6bcb6677175522b45020a91245df1a65a1b5c780e2ef904995867748f5d9c20aa68c5cb6699959a9efb047d88ec4b685496f2ffdf881d78669fef97b6e15baba00dacbbe0e1b94ee84e6e93e9b663dd68211c898f030296acb27d2d641a5606c3e2507ebd658ee01afb21cf90770107aebefa457a477740366f7eca8a80a357cd22ead2b791f4a1e4695e9fc47ef99fd3411863524701313dbe1d31473a1be1e35eaeb3fa370f4ea18e271859bdebbe0066110d6cfd56150650c464441fff6394de08b3d09fcf02cd188d8516119e8b63825de9d592c557f34c71219f643b95f98e965e5b27d68039e7959ab6d9d3913e0ea650a9a6b08b20bb7450322a62245dc80897368a3cc4241fd3febb981a2536f60b461064cb9c64d0da510a978ff9d4fee12f42d35a945e50c78fad39954ea3070dbf408a2970f02b24704a9406bf244aea81cbaeab72285c260e278c00ea77542756dc070eb9c135ca5086be7371a113ba29631b6b8a4d86d9390b99e6427a1b612bb3be4f6d3c497dab70a765e68de73e30339c5f7fc12affc13d41d2977fb1720300d0b2f7417f939709805267c3a534819f95f31e12c3f4f31022c3c5fffaca05aee4969dea00d2b4cd153576dcb83e50c77cb17a1331aab46b9385ca7521a4dd0944542698e8626abe97f7d11cb6ea950c1049102e6fd53a12ab36595c9effda6b7991009bd857a2fcd291a8cd9212520c1247fe29044d249eaf96ff9f575b55e55ce041bcb7c26f120c878f28134b6b7de1e658f0ad7ca294993acdb1edb9f0c98ffb90d6a3f2e10904027df498d96519e9aee85eba4ce0962f9d2247f2e1e369edaa5e35479feb9e4ca65303e2cf3984fdb0dce872b493e1c3a1338eb13dad3db9467ea575100298ffa8857cef620cf2e203dc9e3a835e4873f9fd82af5fa0b8ecb6fbb56e2ac34b08cd8768c32b4d03ec06ae1e0221f4c9d7efe784762b8c397048fb459b5168f1c4a0006fc35b084ed23fff55f0ff057f222ad74a21e9f11ae0975103212d90e7356a1a4b18b6c275111e1bf874d319774ed1a0a35d1cb8a37559fb56ba90b6c2a10c32bacf061e22903ccce953450376d1671439c32f250446a1490021d4197844485f0ebcd6f54672d8f29aa83e76ac8ea8df60b6955296d791b35f8f7e21aa1bcc2c654652dd7488a40a5e04b3a388a3fcd7f2e5d49248aa04dc36f14cc64d736d52e768cbd2bae06a9baa5fa87531d85d7812bc8e31a351edc697a60eea7e259fe0ba47e83472520d1f0cb0312f067cd7d73a2b99784f10af95b3692e2c701ad9b2d25344f37e78729717d1924c375005b0542aa74351af71f0f0d32cf0f37517b03d929dddf59dd8b8cf5c00e032e5f75ad87802fd91e80a6fee802e279b97faca13c4374df987a80981115e097edc857086fc2d84e076110e00cf2c93c066b38a07bcebb4af619eae9c10c6dac54878a13cfc09f0815cd118476d05b521dde6d2f6bcde2d6cc6c6b89313762839b25dcd3220fa53c846380ed0678e71babd5b4660fcb8ecbedcdd171f8a2369d836140bf34608a3e77f824e0b84f71446b5b9c67982a252e51e4c8fafc60364141fcc0ee8c83cd90c88d56a2f1906ff8b1b3d6086b7bd01746d7822ece257db8abf35b1106fac802ed82eab3b4fc1482888ea4a0681294cc02478ed659bd19d88abaf52d2f42a4efa28d5e72f3ec14e0039e5d12dcae472f4e68c4338c72e503b98ec67cc4e16f2c6f4e59e8f5d7a51217cbcb7fe9c9237fcf81fb419b2a1cf55ea917636f31709931c7dff018d169ce4b6b1e00fd352a3d13bf5806f143fddd8bc907ed232f0a9e27b1502896d8b240ce1d776049eb4fe7a1ae8318bcbfcd340d1bf8738528047099551ebf55f10892e4a3c2289b3ab4351bdc008230723077466db70f1b497d2be527b1160ad65b8aa1befe829310079c2372158cd7eb054c7979dbfc716432d4b1260f91731bc3a4769bb2d8a33727e168a4ee355af95e6c9f8ff549e259628c47cf0357ed6b39eb0ffce839c84da4bef2a6aefdd058eb34c379e1bb543b4d2298d546a9f552e3cc2c90ae5e47379ec438795b839768d1704e06cb53318e9f58d06e4946a5f750edca93d3eae754ebe61d9c6c44143b1bdeddc14efd713fc33cdee15606b126eaa93530fec85cc34dd307aaac86fca6e4479932d76078fd75bf7f930773f59a2a6fc92e3a924ff53da47091fc34912af990049cbfbd07043d9aad62c6a3e0fe51c63be45387cbf2b83335ab761c4da112a723ae66ec7778b2e31dcc7b2b76f7ab59aeab432317f7707e65d450f5e47915ebe3cc780f0c6a675001e078bdfaa7c392e7607b15d42f4f58eba19908730a5a1e3fa995d0cfa6bf53a22063874d7f8df68a40492b919c649cf1defb3af92359d8bb1210cc34c4b03a15b71650720ed68ef7fc6efd017ad7278acd4e61572627b78d1f92e7e771c45bff259afa52a06e9d744869bbf9453471784fa6c4f833aed26087c4521e2030c6c0597f18265241e0ccfe7dc9c43a04eb002ab85fab39ef4f7ae6398d74ca878210927219dda474a13a2329a9dfb1abd67898a99342329dad062f85dd665bad9d68c96b6f5764e2a724d239f63939a0bb983269af47ab59943135a9513a7e76563bfe603c45904621244ad1561e743f9e3558d4182212bd6e985439f137174bb77bdafe3b50e4190d3839dbd2b7d26f64ef18ff5cc8522f55d9891d0b6e4a5e87b517161580dda4fafd117b60a2a763a65fcb4a7614faa050cb913366362c04f8bfe92d7761df518c45cf6ec16f4750a7ea63a653a39800312cf1faae5f697e8160c68274fe57b8428c6d39907f289e2cb6a53e7c74b266fdb1fd35a3d913fcde37080fea82a33a6948325890aee381b9deda7bbff67fa2a8a520a517a20c84be5fb3264cdd78069e4fcccd24bee06c4b9021e98c62a138422683982d0eb97363e989e40ab853c83f8ef10506cd049a578e31c4fd7db2fe8a7607bc38dd66c48ef3b1c2f2736bb8bc0a86ba9e61085e492b8eaccb22e190ffb1d3796d7a2ab554d86ab1bb95e402096bf8b1d81431ccb1da3c2519a5a5ea3cbd8526c6154734bbc782fe376e528edc9dab6a3f133c0f6fa4b20160cacdeac1ee573b9fb7072b6a686aea0d883528ad52b4c0ea03db271c75a2702956c42bf9728b25464f9c8e842fda93559b8e1f01c048da4d155c04d94e85143f23aeb3e49795eda3c67cea1986bc31ed0fce7cc8fc7c94040c781e19d4c83ba5a28813bfde38627236a818136d3a35c89c09521edde70b1b140b9b07f54f9d49f894ab97cb1d848665251ab820731c54c8e63c0e4f613ba93faf37e332f178237b72ae3b3b0e4c98984c9422639415b5173380784f0941b91908e00b5bd39d2711df30cf7669167005d7ca39cb65e3db9150f9e220c082698e5e319d4813357ee9044a6eb62204ec340e57d72c678d1aa0ee7769aa7bbf5048dd74eefc14eb360f8af1e57c3d32436be39784be0429ff707e5568f18fd3a09a347f8a5cd8ace076f2b6904e0b07caddcfd30fb1054787e5c094ff628d7709f3cbb0d4ad8325cb78c3b2d069f0efe0cd8fdd30a5ed12df2550064622dbda0e4d24df8f659092f3310f95f0bedc118c04af1d00bf1ca3efb547ac1738fad9c3d1828b14a424e7e63b3c99c7cd3866b3f2abe61e7db7dcd1a66774e39f03b250db0340c4c07752bc726f162c7bd350e48ab57583dc4d1124e0867ad8ea51457dd43203ec069bce8562d587ae241234c2d560fe5c3a329a153bbac9097f6fa46965da5e0ab902ec733f7cebd380cf8c0b4d50abd24c2fa4e6739d5de098c215b206515d739c31e09a77d38b3a3c5fbfbe037f067dba6209fa5f7c177d370e354a0f0005bac8c9a9ed1d2f3c47bae0dd0ba70887b6bd543f7435d8ff23d06c192b6a49d3d9cc5f60f1b22668fec34ceddfeced6f11e3c3014f59464805a35e216e0b81c093dca466e04996bbc42d67538598e80d81912aaa95ee955b251fbbf8b5137aac98452cb453ceee7e0e5833f5a4e1d23fad32f3891dde28fcaa9d50c3ff4d6f80a60f5289779558690f3d1977c2ac17cdcd54e83f66e536dd46e66ee6dbc1a4460e03e44b56a85eaa87aaae593ee06999dd647018e22dadf007cd8d6f0d4563c3093534d57fd3849d0fd9a9b6bdf15ba062b4369185f1b31dd67ab6e1727646df9c73e813e07878594f1b234b1b0dfd02eedc393a79405b214a0f1f6d4bfebdd14b622750b72789a7426e4242cd5df57a87d76a7babfbf1402c9b5d24a677ce92eeef01bcaaf5a494982743f7899f11efa4c519cdf1bfb22891e7922ffcfebbe8397058ace205b1ffe96247c7a390149a0805b994200b0a684c52fd5e96f8a453fe3f66d86c292982836330ae652ded8118e6298fb30df09eba27eb67badcbb0bbea3b3aab9c455888a16a214a5f52c5b0ad7fae276702abb9549d963ba1fc92de1bf8a067ee81209e0883b1ea2b81fa9f4641017148cb18321078a3381761062f16675426086d63f4ee288358edad0f644ab13bd43d7119f7a12a8e26efd4e905e2a4a11a34f0f8745b6c70d831161f90f1cdab5ff1a156d046e5cf787e4a920850009abbfe394245ca999e914819344c64964cf469863b5458b9da4bf4180a2ef540a431b175ea29bea1716ebe3c0454c545f50f9119821c60e38bd845638423a9771ed8c2c669a53846ad22a6dbe7af1e07c4bd7ddc1bc44ee816887201c0133a1d85b341906ebb8c6ccf9dec5795d04013d8d7209691f56a28e0cad463bd2e5b21baa14f27c484ebeb9e041e6ecce1ab78e0b925b19bd3427a73cb3901c3dc2d9134d8b39784c3345509e21b18dcaf154e4c26b544496f61a155e295bc8d35fad0e95a4afa0099e580ae5eb4cecfc4a9105411df1919fd8de5af605d07d7a0ef2c3d5f9c5f40f98ce86bc0ac57c293e97f65d40e6b05550e2b7b687e84bbee22c1ea46f598cc004f1a4c82ede8639c37e07c5366ecf0897ecd577bd30741db104cd024275d5446a7544702183ee56d187c74e68bb23b3798241a81f177fe245ca969b641d15e0dad4e46eefab15813906cc5e2f31a329762adb3f268243cfc4829a8f5b2b3809f6485c654580cac3b3c9da631adaf46c0d8e100d746cb8cc972f50e7f5b49bf465caf94d98914556a85bef782096272156effa3ab2451facf10c9ff722c3fa61010e6bfc99a246565ed9eda908bbea34f682a5fc92dc8b30a405c31d7f2d7ac3baa1ad85420e969c495a329dc8cc5045208ec7913c963aa6073f2981853ef6e0231f02b978036a09454e0a80927b91f9ce20db8736b2ace541f43849d7b69f490e1afa85fac14a1768e7aac0147eee6c5a6bfc6b6b3bc62456561db4de496d32beb4eb1c78713138959165258e7052fbdd8458a902e8ea2ec2637d73ed7d22edb081897c9dadf5d6d0f98184049c8287836d24bbd82a34c443ffdeed74b67273f4a1bb05b1c0023e36cd7b14f4908bafad0dc1e42002a75aaf697536f284eec47158df406162fe220f08e2e5b189d00a09f128e8be113bda82035956f59ba682dc309bdb0160e26ebe6999d6175778be0d77170aab3409fa5c357323e51128e3a309b1090573b319fa396c6ff8446d4c9c50bb23302c6bfdd5aca28a1c5dfe913a887ab12f3ceba0c71e540b3f2eb974d89c2dc386a7ef3f68c75730b60da9c2e92b797e034481f55a9125e8e36736a5b93acdbfdff3240af4918aaf82101099ddd59cdd6a3f33e162c46b13287a208e187989d63e971743b2921a2aa5d4d1c80a03ab91bffcec803bc0bf7666fa37025edf35ecec38fa7400fd550d26337f990c832cb2c982afcc317dbe47a83c2dc0394e082be72010d7c7f7ee6108714e0d2b41d1f88d3072213b2e4c4b5f426d71b7d76217ae8d0e32019ca5160a9b14a84d55e347837351bdcae08be17cf3106079a84d1a022a61e0d6b074da7d46f8a66e55c7fc80f0527a3f6dd43a274abc68540a7215dd7eea9a44bde2d5dfcea99437ef32669c79c7e65e0f62958de3fcc8bcb341580f21fc17164e3ea5bb6f77ce38e2b0c52a4645754996541cbf80bf3fe8d847688aaeb08f48e9e0079ea965d7db8f15dce976e6796ad28010f976dcaea4adb2d02a7fac36136cc021e6c59a4cf80f1ed73734f5dffd6b5ee181a2e05a4faf9ddc42afcd049f9ba8899be8ccecfa692a0fcf3d46b35dfc17930167ccfe5ff10622d357f1d2cbd7d97a15406ed4dfb60a8e8f3a2b7eb243ebd01bbc93ebfa8f02f5dd9d0ba11792625abe61d7d2e865ed6dbd9d9f0f983f371deac4831421b79b0c7dc5b5b0244e84835092bb523a1ff1bb2e2afaaf501649604076ad2ec00c832cdfeba9e5378df4b414f55b8d91cf9e07e7efb8034bd992813e064741f0cdf7ff73bab5adee92ba7e870ae00d7b164365eb4d5eda98a19814f49d7da3cc354c1066ad35afe24819d8ff8d38c6d563f75e8a4e5ea907aa11e5c4899accda0c4243a85917afead07857e311d6f939180c674724865b2ab6012b106fa479991966af6622d39e3591c6f6ea3c62d302140b70d5186bfed42fd34bffcd566259caf398167a322f51a9cdd2bfe74d751682d5a90ae7128b63c88fa30191b4cbd1d18904ac2559e29175d26eafd5b8f5fbc9666aee53b3ac6673220140e24c9dcacc2639d871be006d883b2f8f9970a062568b51d9d2b334876f5f54930a7c0d5c262298a6fc18fae06f9df73b8011c07d4c4ff6ec64a6af74a1bbd735769fde41e43c8878670948ce4dfdf241dc94b9dd1e2d6f2b989ed8c581d3db7fa0108339003ced5384146fb1748812f31850a4cc353855d057c0c8196f5d7d736ea8b52353b168ed3b752d291a8df71d7e5a3b33dc3448dffc839c1c6a50e5315281b89473efdd71efe609b16fc73741de603d6b40a49da78c890cee339510faef8ae7dcf2883fa27a91f61c8fb60452af0e923b9ce51d2ade0a767eadfcec0e7af6894fffe18e8632a89d253e4627c8c5738434e41389dacc5cddeae7727b71a59e26e09cbfe8df79f23abdb6d38d4f7dcf21d4d805e82d997f00f92edcfe2867c54dab641cd05a6fb76d0f079463dcfd6882bb4068f29fd75aae5e760c4d09a6f615dc2f3cf39ca91e63ff1d69545a2326327a8e2033cff058d622c084a583c5179892fe5ad503bef7bc2400eeeffb3aa0261002fae9ee3f8b8f820d5997f40b921c72c0e1af84cdb0d5b8493d3d787187ffd1ca6523fa0274d0d981f28afda26f2fe1bdcb4b07275bf015c74a47138d76121834acfe4aed4cab7cb0add824415b0caae289fc8808a7b1869873764b011aa8b1694a4ef924372d4462cdb403c876b451b370261dd8072628515596a5ac3221ca0e9a73589f53b018a7abd7ab9e732a1e7d816241ff8d2ac3bf516e5647030aa5f086385419ccaeb93a02000ab741077987f69f6a56d039e1fde658ba652e7abbf68867604f6a56c91f658369e2a962899f692eebe5ad8364a0bf527bb5f301a72c99944a13536ab0de7da734adbe8fa06b234c510df462d0b7be14120c7dc3e97e3d3917b26194dff12f0d625ef8e2b1b380fc93539e14bf43a6183c690c24f273d58ef3628ad9a874cf840bb790df552296f3cef40e8b3d5b5e4746b5f86d3b3e1c590b399054bc7321656d0f85f15b0cc98b64817143a2cc72bb62c4bc833f8a8e501c94508916ecf1fc9d26d5456383af46b2258b8f8cc7442aff70efb9fca377604f068a998b1a7e427b48139241922af38c844f83828f46da557780bdddbe9a82fc2253ebf89c0952a622b72744d26e7cef5e91021b95fd5fe58f1f4f2b58fe1b5c1ed992a70f455708a6f5a85ddda21e2636a8f4d73a4fa7fab624e3c5f9ddd4bd1f2b3c847b3d61f3ba87cc1d36ff006a882bd35aba7ef4034a8857d031d4c2153d9149455b6ece3605204f4666b2b1dda079f6ac26a611227c1ebd3e25520cc417346cefeb3939f3902ce7ab69533773e23ec7c1aad5017ae23d55e8b5bac888b937131f7505d9bace1265303b26dd5287cf0bb38631b01787cc6892f473dd7bfaf77b93e49c5fe08d837f2dd9f27ae8b63ca8cf0276472a69c63a4084ec8b6fbca2be247257a22bd3303b79f88e1ac1e7163297bd7678c12a7c9410a12ddc6b0582cd819668b9fa9a0f7a2931067c1943572fc4dc0c4d4535c054577f553f12ff7bb9120f6b0547b4195d3cb89797a3eb63e04d77256a5e3082e1eb91bcbbf533c4c56bc6c28ec458dd701dedad56f793b100fd52d27013a259e9911ccc5f430f3db54a616b72fdfce282422c632e0b1841a3f2a622093869ea840e7be65ef066dbda240d3dea8eebfacd75fced2fdc69b3fa52341c629fbae0cead2fd74838710e1ed0203366ce1130d66cfb8d5549fa7b1744fa00efbf2744c0db889737231a9a56712b8b57e809ad3468cae94aeeef43d298b98cdefff4eb9b4d90c28d4c2f2c58a599ae1fc7676b238d3c891e8beba33079bb94eb11ac183f186327255303a0590a7c0d31b83097c1309c5f679cee8e62ff8192b685cc0c96d82552202fdb1b5f1eaaff38d3c281c42e1fb93f74801bd76659776152a3f7c3851923050dd1552b8a6be79060a737a9951e2ed6bcf407e5d5d7753c0ea7ed5b321ce82b42d72244503f544b3adb08bb7e92cce96d612422c6db4e5296303b1c857aef624164c54d172fb9266de2bb79f39b2c12f413d0c35e81e07e6c4cf9993d84a60b1af71fc0b3cab02acb5f55e3eedd8dde7e9e46713551abb39f2cd0014188bb1c8be89d405f7e80aa26fee93ecedc3ff106f27ed6529ac95a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a013724d55e702a9dd0b8f933cb5409fe76535187e0665862ddf771161a33eacf8af598ae6492b6890b89e0133cf08e4c73f353afe2703f10f1bdca494ddc8dfc9f5d3b180007644b73f9a93f4d8ffb1b125a2e939fc50d2cfa165b69f3de66548ae2403e8996a788490e6f70c6b71cec13b1fbe394b9051e298346f3fd46004b05b8f5936a2638e82e10b20020ca0fefb8420e18a677daefebb9f3a56b06575bbd50a888011c96b6ecad4aecebb75f9d7084ec82618170ed6a8da54c69ba38e12aa6c7b36ba2ef7b22442e6503e0cdd1e64ac50c5c9b7333e78d92640bc89701881e061e06f6f3afa7820d2e3838c7fed6fffe7e5191bd0f41f4bc0d6795efe1b64c86a16a9dc33ed3301df6edcd0cc5037ffa08bc8448359dc363b727936b0361f845a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a01372197a9aafe9520cbdca95b9ba44ece87f31739a546d5868b089c028734f8ad95cbfb8ebc3cf47c1a50939f753589bbe2980160b765e4a32ea13bf55646d273b700bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc88a5cec24bc6e993fb9cafe217cec66f1f474bb843b983c25cda21fb5cfd98a16b78937b1be469e3deb3d72879d919d46e7969df873a1091ab3fbec5eeb184ecf4bd2b7f138122ae10ff3c813a084f7523f4a228121f34c77e04a4b51fd19a9e001fa5a97d616400d32b7dbc9e1391281911f510c6063dcbed60244d516acbb798fe56b96abd58c4a7b417d85ae3174db995a4943ccaf3a0b555458e759556333732adec6aa71c0897a99ad0e2a824466b93c333ea4e8bb23e6b3243adac2ec93353b955e340fd899fa73a059b1f3682913167554d468f2cae0e62b7c6c90f320c58a9630099495456c076c4349c9357a1b37f129f52f92ef748df3d236c4915ad980a46ac57df7369b9ec13617f2cb1c5c30c4e56cac5d3c963b282e06c717f6f07ed3e07b7a12f8028cdbce9bbacbf08b61b00a1c330794cf898f8cf0f4726a4c9585493759020eea1456db39453e8c9830778c5ba6176cac7850449656345e3b1a16068b10c35d7fbe10747d48f1f95891a4ae6321affbd3c474a78d808d8a214cb938ed89e596ae92bbafdd8f0a3469684318d0ed5574326f024147682cd2439543f9c153574f92567d2e9d7bc9836e52f81d5bfd2638c6843ece93260ee1906c2604f613e9fa52f8d2d6b395fbcf2276c283dec3640eb38ca5af58e506a6b431b97cdfb6118e18e7686645f0031ab777f15950a31d9d061273a0988d6952439a43a7212dcec7428a2e8fe4583b7711c0953f0a1dcb9131aec9b9f8fa7cb935aaa3b1ce8b5315358cf763dc19e196cf047ed2b9e36f1779eb6f89a78ea8ba6af36df50da86384657a536f5f9bb3b334f57ba41584bda25fd9520f29778ad30187c523b0a1788c89e2402efcdd951e9a0c573a2767b72a5bab56f411f029188a5c52eea4335c631b813255a4c4b20cc2568dfe4b04b0a3933f6ddca5ace89a8894a7128b97d2fd00e9c4333841510fe3ef7182c63421368f8aca9b3002ad2b9cff1ae81310b0633c8c3ed6813253ecdd808afac4d102384b6950454a63a87e17f7da8ef3aeb2d7ff9a6bd8526363b52611f9853a81dffe2965c7df0193cd6ff73f466e62d5904be85e334e25c818926e9a079cfcbb19a21e67fa2d48fda7c605f542d23e521d93f9f8b7f62007094e6a94b3d4ff000f92feaaeb9ba75b35fd6073b2e223f0dbbea76bbfa3b4aa7a2757210aa8616a621264d08e477b068cd534483a91a5efda0f56aaf09a1a22897df026e8175ad866077bcf4e27d0824e4d62e96a3716617df0233ef66f94b8b9742fe5adcc3fdac76107ea3136246d3689ae28e3c56f41b6d2c492ee1359cea25463a4d56ca22e365bee211a2aa42b65c0af1a085e05a54aa1bbd4291ad86523e7f760413acaef8f1f797509d398541a0fe28905b9e238fcb14608f75e97e605644073c3d6a56c8635848084b76e1245b450bc9190d7bed6e01626bbcd0f7401e8983dc488dc9b0536cf7246277064e57eff88967d8044aaf0ea8ad2b8ab1dacf74e5c02d0a2ee8efde5d56cea05d3ec2240cb1f65c24cdc65d95c72d64941303880dad5cffb061312bf8e13369908f30cb5ae70356474105b282eb3434594678a336985565b9ebd0eb5e53abac23394cc56e6eac44846b80b19211af8ed9e5f8e7ffa914af1ed4b4b17570d8d3727a7312cbba3c14c95d36d3debca9cd4f8417f6bdb9dfc38c858280ea4a3e0c5860f162ac0aacff51d1d4537300754ee52720540eb3ed8d6d06842d09f4cbb50f2c9460f5add466961c07b9bdbf599641b9ad739c006ea121c88078f644c7b0c7ba68529899ebb20ac33961bc477417c93ee12cacf0e2e00e41289645de859805262863c4a3db93b93655f59b35eb7664b2b7d01f0d5d7dcaa721e667132cba8fecb6b9533ece3f27dda5d623cca30a586d459f24dbb2b6ea93e1e00c6042c0496e711e59af2158180b5aaca1ddd9ce1e6630b133255c9c5ae90a2492d755a6636b86fbe9ffdf76a4b3ebbf4080f8eba7a83f8d509bc34f63e9761de58f19fc99086dec9a5da43017fe5c11f057388bab1afee029a08bd65a92444745e9e66c84f83de3758d0e3157fdf6a14456513112708ee396b6255f4962f7f2ea4c1b036c65469124a3bef5911b2ac8bfba2499e205f7baec03660ceaccbe7fe97c5a5c49febe6360369279f88107f01dcdeeaf3fbbf7fbc6149f954037de64cbcd2305d4dd2a9e36d046dd164aafd3889df41d7b4f614b4df033db26d07689da23f71c4f2ba76b5d59b5535c05460b7971df8f2af1a716b34ef117e723c806588cc2362c6e0fcb2339da702c9106c56c147ec38d8fcf7f6da397e5937d4e5f9c8e9b32afe868850e22cc07ba496a62c78e97c7d407e3c920a730acff5f22a7ea51ac2d2b1f3c54d2c15d9a1d84043bb04ff42faea4cc76370168c5aae7a19050f0c9cb2cb832e9ed995c7046d405b21f1c1a40524d417da69069061ea84c467504fd0df04b5472e34ef2cd96e3a9297bea1f2a4c54eb2361b0c179126ed7f8b915a754becf51b15ea9961bb511d25c1a53a33bfdedec197299ff9793421a64d3c7a43d5fc04da4c807005661650aa69cfd95d1b0dfd09fb8d40ac85e2b41abbf07aa4162915119aa05dec54e796a94d9d43fcdd4a4641987473f32a9c194650cbbcc47bfcd748921d35a4dd9dbd94a8acd9ff680f0f5316fa63dacbbafb998a7b17163ef8d463c00342fd25955966d5f4cbd86a5593491adaca7e0921d549f99f6a94b3b8c8b4c0916d3161ea08acef6fe092522a9adee4941f04895931aec52369563ffcc825b214a35c98fa735290bf78d8ab576c0653e7e54f6c98bcb1edd32d0ef4d91d238c155e94c8ffdf765eee8bb70ee80f29b367d6b8138440ce956afcf63c7d4d7cb51aa6103eb9d3cc8df1d7e096014cb821cdc91c3b49816b983cca129afcbe4f4ffb34b1079dbc4030d04b3b6412c0232f9b7d0f284e710009d8dc0278a7061b74219baf53cfca88848eaedf3a29a97fbde3b2e3f98544c335949c6a65751edef51224ae4274744008e3213b7ffbe203452c83e97458599a2d08a87b0180232315403e680460d217fe78aae54b959d4a64b3682d63fd279738b2fcb15e16ac05b27470455bce7ee8e30b4e8aced6690d3467f0c7d8646cae65616fd0faf7e3df3d83844383724270eca979e2f7feae67c38cdf8402a4bb68328cb3f81933862fc0d1d288d37ef5b3f15fab28ab5125bd5c7b5c43aaa0ee4350d447d8789f105d5706b112641d0d37c17ddc9beb190cc2bad822b73701d94ece4717ae0defd56b724690c3d70e5375e077a0111debaf47afd309342e2f0c377bc6753fe8555744eab9249a1a7eb6d52a1542352e72c75d227f0ec2acca10250733886dec995494d844573e8cb11870a507126b36c7480c148468a0152f27348cd717f034c2e8142459ca528b6f19300ca49b226bbca4924da14747ee6a578f9e95196be195cec222273f571aefcc9c58545b05f48a5e37572d598a1c115c656126e9aa2f3b5a5cc10ab2a5fb317ea0986466100df17f9b9f803b7f8da494371a8af3dcc5283d2dafb45ec32e5baee0be58523811e181e23a2283682f516fc105416ec14ec7fc99ebdb319ec04aa8dc68b9868a562682e1ce58a8b328cc56d7dc4442997fc5aab3c2ac753ce52cf2d5de988bcf3fce1e6c3862a9af9496aba0d2950e9984b39a27517125e94805117f4d1f570785e9772e4bb174e21ffd07219a95a81bae47fec1aa194978170e9624068502e3dd0f6a7072293178e86572727dcfb559eee31765ef16abcbf9760c06d74b5676f90d35e0b31e91ab6f202686a1bb11a05bb4c2e18e91f8aa48dc8f4cb2db67dfa08a328bec6cefa209f436208a674f417e9bf331cbdbea8c907f21dfc065cc3487e0bbdda3771262f6d51656f95b68b8ffbd78a5bf23c2420f3d3be056a3ebd824bed690b58a866dd6eb3a79222d2384be2dae7d891e24313c951937b0efefbce61d4f707cee20353e268b9e514cc7b070e2fd3c90239b2db678853e678a0ed6ff909be7df194284cde9cea0f7cd3954ef1f943eba16d0360c2465042862fb6335dbf3fe4f8e17417f52053389617eb64de150c100591231557dbdbca4a451da2a4f28519876f2c1b8b665b085e46da94bb7951d6484add3571b785b813acde60e4704d723e223bb3df9392b1ec809485a37012e41e231a7c1189421a84b2d8006b57c95cd3ef4cd6d6d2e041998d76e7592bfad4aa274b59f1d0419571cab5ef0a53920d44f3946c697c524093533c1ad75c24e049a521b3d626aa78b443d5f3926101ab6aa14e612dcb7f25122c3fce2f0e90cc3f24832aa40b1ff03e8c76b00e87421b0d0d7b0de7163e0c445efd3815f41ac80fdd235b543cd25019fbea62cdd02a9bb74aec37b1ef24f827ca6bb861ed010163678ca725a1f72e34e7a42011876150f1df454fb22ce3f07f84e51159da1bc4d086a682459404fd9c899efa8f05b12f4b6c80cfe5a366a0d7f6404bfaab30fb23d2fb9e6e42469034fccba3826aca8bd44793a625cee97491e0f2e66057fdb1b943c606fbc9f0652165dc6917c0abc93d7e751076a9973fc756792855057313c026dd96fb0e297d069197217818971c411e5da786314d2b716b01eea223fb804abd26fe6901c0e9eba5cb9a8767de1fb646aaf5e1bbec60f74aaba56c6be2bf39a349cbc9fde3dba0fced6b1a818f239efbfcb152e8461ffb20daafbb5698363913a98ed20c9fa3ec16fecaf8cc4a174ae818b683c9fd14e98fe6d10d7b9e58bf5ced0d4ae2fd2a2707863b7feaeb3f75952883e820f39bd2fe5fc7b9998f6c49b9a0d36fba91c4eded1506c55d03ea70a3808a78d8945c0c6f509ee8f03642cb4c7ff5d5520a0d3e5c5529f65521d6dcaf3ab8742e2a215798332d7611bbff8fc4dcc609c12f96702d2602a8740014cd368e72b5e14a03d10917b3523641ad0d145fc034116ddfd85c1a1511de02a8f40c071d2f1adc7e6f6e745ee4c54a6a43406d7d2ea301b78d025a9359140aa0c894050f90dd1a6557fb4ecbb1bb65a4484b04e736c11c7ae89764a9fddab14fdd1d1bb06e6a998f89fec0521a2e7ba5eb36342aad2478c25bb6bd8edd8d7fdd6ac04c93f044d89ccfc4b3b0b439c5ce82d6ce9f067e9d1ff95ef99580127e413d10e7f8fa62e7c03263cbbbd82b7c46fb4be0a7a519164d466cf7e230d86e2faf0d87bdb880d113cd113974db72bad43023a028fb4ac0e50348b4397c09ea2af386ce0528b0e78f0a497c21737c8e043ef7412c1fb3c7fd4f6a78a11ba82b8dbd83324e1d3d11351b51c69aa5c3aa5b70a51ac901c328c7acfd8ade06e4043290931601c84dd8aca1c4d3e064ea24730716923adb8430ada5c749d347418f30915207b1083818e1c3878d643b0ed1ae2e6c447ca84cb9481a01994555e5ed596c6086fa627e32b43109c6dc15406521312f0c64a89331b71ec6ac3ca7832325514b4415e1bccefefc9bd85996540ae461c002c97c4730526019b939c325f0b9489cf3bd9821a02eaf6dca2ef9bf96e2d0393574b8af5ae52ee7343f0c88cdfb878ae1774ab2545f80946c8737fd0888b84f57e41d21361e5cca4055a8fd74fc05fc8486da0a2e169419a053c625ce51f545a12c7ed73aefa14a65168437a8d0bb257cac5b49439cc1cfe450e0c07a758644b3355d92450b955ac1870f5e9dece0201a1162f52515547351e96fa4233af1a79fa1a1bae0e68e874470d9907feefc18724a75dd59e88e3eec31ca73b502154352abae31f584da8122a7c6cf7f881b19ec5fcff2f2482e5f94a605d0e410e2ca7aa5ca44f1b8ef4cc5158a6195ce0f399b1e42bcd0397a5202d09c4490e62355c6a8d118accda00f9b3c1a47ccac970a9ecc7654f79b29e43af859d89e00683880a1d93e5d9a9b965cb0e737a4b0d3eb2a936b019d7189143878eda383d8d3a39805e0d88a423b13168b27f2f14cfe09db1a3c076aa9538187ca8f66076b4b2cc252eb9d1e4b74fa52d863d81be1d33554a01d231f249f70c29554f64ff3561951791171bdea7fd54390a89b0b59a6f306d13346dd286bfba909afc440d05e0bea1c92201b4a4482e214f7af01eed3d62dd3c5bcc0c21cbd22f090c8545d9b9dc9c5a5ad331e01ab8b94fede6ae447085b86daf3e98bd54910964053a5d1b03631c942071717af37d65b6d48b9ec33bf9e3835ef2beaaaa895e3638967a8baaad4c483242e1e6c6d4cc06673a4ec87d56540cf19afd27c9ba3638df46ffc0c08b6a0adabc649b8b6e44aae00d180051d6d82ae4c5d180ef966141f0d9b7c49236200e1f7f94b5145e4716b836162f000cc2c6261ea556f5fc513b6bf5501ed6fd5d462bde8b795fe901ffb30587e22734320d8027311581d4a5ce04393125f092f600633b8ad3a3f4c8575ba4bcb0aa9538606056ec4ddacd465d90985accf683d40373b0c0b0bcb54a321e4a5b74d5697d15afa0b26b8778c72b3d848ce9c951a68bd9f0db58bbd0108542dbed0be5f5afd77e899be493eaca12045525f250364de6d9ca590692a964b5c12d100950b2f8a3a6dd4520f86710eb83a01d3f6866a68df89a6e9b1da3f0287f9098375f96435a0942e0c3931212daf584e7fdaaf47c7b7ef73c49b4db4ca7de0881666c669bd459e617cf7c7e56a9168165eaca461a7ee27fd67d9f4ba33333a7fbc0bf527518d8ba639d7c54d0eaadac901a880f5c2776f669a54b0fa5bfa762517c0d497ddd3c9cacbccb8bcd9d5971b705e296ac3b67d12ac7957a2a4705161d93e1208b02c1bc79c68525aeae6e0113009a812cd1152f58a8a0291a2ea2ff3de2ff293969ce50a7752206b68fb533a4047b317dfb23fa4ef839a3567898df6b35e55fbbe12e27e2900af7fe936928ba657c240d5066061eef4c3c97a145ebd69023c4821cbd58844d9a3c7fd95062cccb57637dbe12d82d0f9cf610fb40e6026be71a5f4143a598877d6f8c631f0f5bb7e090e79d945fce12ef5919e0cfe51269cbfaaa25eca782cf0b10363f43c5497099466ca257b4d49ea667c84b757202f591e3e20476cbf935a8f416c302a505ac29f34a67056e4841e62e147b9e2e7a73415393d24b9eda4fb600f05bd2defc036a1b46f1a2385875d5e3171642ef0970fa1873de81e1c7a5201eccb15cd1fe15fb9569269a80089903620ef5f09ebc60e32d20c24fc3ddfef088cb865ca99a599db864156a0a801bdddb646c43a9b18f185fa4524192aea68b06d8137c0563ac92539f971976d918070ea251ab5aff7103c70b561ac677819efedd6669bbfb5ce6e3aeeea4f9d397b6261f0cf65e9e6b1885c6be7473258dc427cbdd6dabb10b892512de84953bcb7d74c876a4e822d2c74efb4c2f050004f9e1d01255030b786ee0a91ab54f8ffaa9df7069d2f7f2dedd13e121058224f64e17f90931d1d5b5ce7d2810f1b2143b7f5417cbcc39642b11cecbb03fc353117be5965cc40c8fa3475ffd8a334a3c55dd0c33f4ab8437d3e6fa123f970a226041cc0d0c28b7784d1ed6334fce8bfa79d055546cfd4f5a6402ae0bf5ae9ba22da95989ea64d09bd193f83010894b41363df4db3d7914533634971b1c2f56b9b4c5fbe9cfd5d120e146abc9753b0055205d9760d998750fe128c20bb84a3413a194206b18164ad0051d7ce7ec4b2d73dfddbe5a5ee33b388604fc0af589b060163c1d4069121fa083bdac4819b886425697faaab982dcb28b768782188be9ee8757bea55bda1726903045f676ae52907e3aee87d02a074a91ff8ae3d7cc255be930b06f3fb1d2090b6226cb9810f156e5a75bb2c4e0ce2ad1527d01ab9262a45a81989c9770605f00fa343e020e84e60d860a4c7d2849ba5b0b2bd20e998fbe98acb0075791d6f4a127071fec432f1dbbb79258cbc9edc7f8f80b3ce904412fac9a39396fa7f6385d2dde537634179f6077ed63bab2211dfd998995a4a9cf849c8206b23310e7cab9888a500b1ba69762883cb61d14b6e546bad9a4158489c60ecf2c8279ac4c3d002315ed66694b376c35929d70f9fa3ee1ea21e2466f09cbca48af9a98885bcf61fea0f5967a6c78de36706eca494f139298ab56553dab63966aafb75a59b9de01c42da532c0844ac669fb5ddf15be3b08be630b87e03457d793256f645f8db0078d0c361a216a793f26183fa11cfdf0de8dd3872a6e67b3153b777f271932b5b81516be0b6d7639d0280502ea7371e2d1f1b3855bd077b290ef0f916caacd6f1b791363add2839b948930ab12e46a643c3097f246d20684eb6386827cdb3d0ca0981df4b14b7bbf9e2b69b2475f1485263fdd8605c4db32c73559732a9db03823b25e600ccd73f30b20ead64ea03cf9bd44a067aa822b7f312db0c981d437bc66e39af935f5482dfd42bda369cd017159a1ca1d174b109c875c34a1b032998242e49d6900c3b40aa516b39425eaf8a03842bff1d33a10f28848c101e54637ea6b9fd9db061978532b5d0808923774388bab3b53a64effe9aaf748c412f5aa94b1653cad2ee72dd7a7330d22e8d734a5d7c8a7e15a23fbe0bb96261ad19d39bc8cc74eea18a6070b4ae1125f9dec9548b89d01c12174b441dda81fcea3aec3dd1adc84d0a5ed9308d5d60dc53677ea09bf64afa32ee8c1ef5f596ef493663da3bc2b2f475ddfc1702c114602a1f0746fee5c41cd0b4434b61cc2de3815c6db799b8a9dfe2a63e636c753b08969f3fbfcf8a25a4ef1d0c41f1b9d1fdbbf22f2814f12fc514a996e86b624d2f7169338bc9605efe1f3f2d2f59d6b6f1a3a80e11388c2d42281ed6ca20e61e584afd7606b12aa99f2275308ea2790141614bed6772b053403f9b644c472bec8a104bdc946520ca2d99d3e37b7b3f10e45a920c434972bce4a05f8a42dfee8a4b8219ce7b66ad0a4a8ecf13af43e407063d7f7065afaf134047643cf69f992fd13e46edeaf2d63515e7059e9ae51620c13d3e16fb5eea526668d0ad988ad13679b925b4f1e218fe559d07bb1aa3d7fda685ef301618e2af48ea4b335d94aa913194eb02bae362d7d4f210e54da139c269478982a06a739f9a69b3b8aa4b65ab800ab2830fe63e7289ae140c64117e0a4a5a2264adf414b8ed2b4720c5cbcd97a2c89a2fe83669ddafe32a403ceed5addd40f0e83eb7a65031f59578a7c28f83fde86f12071a7a2992d4e8b02394cd0bd0f3d51c88d6b439ab809ae2a5e2a72cc40e4c3ee11426c4e0936defd45e55a161d91b4a39dce1cf12f33f12f8ee84e88a37e75ece2404e25b0f2a1bdf729a23759cad971a595fe45ab4fc60a2238c081c4dff03d506dedb71259b88eeb096be6dfc93761b9e3477eb6a56486f55eeca0f9db3714b29b7ad23a0b71cf969f8781ed06b08b1442b5073571e2abd0e1a346167f9cac02759b8c0cd524d63ebd2f7d867ead6120316657a32b6fae8180f0ec0b94e4a389beca2d9b8f3691e424c11c928a140e34514e8709096de5a4e62f847a7793944b61b29d76682bc78d96b654618c61cf88c5460fad56c4e755c606ad3ad18e5a96a297e05d2fa03a6d6e6dc3b1f40a852a44deb8dad396a5cacc48509d5ddc214577b26e750b70ddcb53efda3ec8c76faac385836542c638d3e9d93669d5a7d623fcacbcc3782cb935aeff34ca304383293834613a57ef1bdc29a01ed5657bf8b9e1159ff8f7a25b2ee495fe3820192df1bbdf0d70c1dd98653642859b2bb08f56fb658b3df767bb78738c4fd7b58435e2b25c69700659824c34bbeb2f1a608116598b44a1515bb0780c32f370b59170eff0fe80861fd59581b2da9b553b975bd9acf67b9e7371a3d51b2a2ced3fdc00579eb6b4addededd6ef6a346f058509de84d4bbb3c47b056db888dfa9a9fa48ef0249b1ef049100035d7aa4acce0b151dc5cef6ffd6536c3f63ead3603e372a655c04f249cfa4e2b6304a66b8acff0ea8b25e2e0d3703c934eb459bd9a2bdb1bf3c02375a6637c6bae6f5eb77423e3363359845b109a72b2b77d8e58f89cc663b4ebdb80f70529457bacaca3d6695229daaa6214d1323da428b1cd7cb909b93d5f3da16fb2688e4b8124fb93322f87b20012ba69bd916e7005b92a7d19c0d09e6fd9a227b94b93a49c5e4047ede46e1351f68c957caf26e02c1a2b85f289a3be7c343cb418f2242bbf57a8ebceca45c096a85172f6e95b7011919be50d00387e959f9b669cb9f194bf2ddcdee2a7c61bb3ef381b59268970bb44ba5435c9be82fdd85d3b0c14d68fd92da8bc7f643c988d03a9fc35d179874ce77d8179f6b47dd560e75650663f631d76de733a8dd64b2fddbebff99c59445c81e3d28cbe8dbbc29e2bf74dd87e51e433f020c8feb79ddc55e61db759b8067201fe38966a61569af62ee470a16b2f7b2fad0cce4e6819eb3aae00a4aef6338e2bbc25592a6ae04c2c3a360330903dfbc62a3727a2fd05ed936981d29b45ebb40ba1ee46257a7f7d4f47655ce8084a93f5472cccfd530bfc8c4220db66959a70bff66adf1336b0b1c68b6c7a5eeed476c6de05c4f27d4c3bfde8a38fcd0e627d17f769b28c7c729b1a8ffdb166822132481883cb91bc38af50895664bcc6752b6b21f2e69090032a18acdf55f9cdf6b70524f03dfb1f6583cb2e115b945dfa396ea35c3c81284a9301e12ffbdc03b99a4bf888a2e9ddf9517fcdd8a96d9bb3bf47c987e138b02ebaa223c4ecd31681cf4f17b2dc1cd772e7ea910ac9ca24c4104a6b1e8fafbc9f52d3a30cf460e364aff14d91fe5a2a6a7b07c99c46f9a064d813f55a0e2aab7db0830637f1d0732caabfbf7b974d6536fad67acbfed985f726a526a98655d31f7590cda5e1b57dda5452007ca94fb56893c1ba3f1a2726b2e15c676e34b20b5cd110f1e89901aebb8af1e54c1de54e0294237b9dd7181f8891c55163bceb47bf3f239b40e7b56e482847cbef21218746f0cd903bbd1009689853cc24186242f3f9b9cdfde508db3a06e458104abbd84308ce908af7a4853782a733333ad86e4a08d3a1cf35e24c906656994dfad997186a8edac7c3f7b8c65267c79e2643c82cc82364084087a2dd98d32476ba3d74bb764461b5d8eeb195fd37899ca2c199bf5b46c5772e21c5ae3f63bfb8163323f0d8751af64eef120d5d1b16ab5cb22c5d0ae87048e31cb447be9b45eaf25300106358fbb30d9b1fd6fe77a97ccdd82bb55e5843891a50bb50fd17780bc9ba641718c7b40c2339ea44777e900a33ee29525fb8b394a46aa6a2b3814d81ff45b4d65465df542a67cbee4fea5d7a3b6192819844de780838d408eb50007de428b21a1ad72cb88687854fce74b1e37b7fe59c20b30ce0c3d064f5174534a9187dac3f38caa3269efe5403cfc70ec8e2a041713585dd4a99f0c01f9543004bf09f95bda9f7cf94ae2716202efa37db151244045fc0224595de44cb86949805e5d01f6492e88eeec9bdaf73f449ca243e67859e08610c4a7c6720dd18da8f88c5db3b8f8467bf6230971028eddca2bb9d07212be59c081ecdd6e5ca372edaf0c9f3ef0517019ca983065ed512a9e425c4542fc0e5081a9419049dd8b7aad02098b7ade0ba2cd9600e9a675df4391b9b8d1cc81a4f46f82c6d7cfafe866551045d82e39b7dbc48634dfb6db00d000cc02074528f29c72ca51816188a7dc03f8bc33a49eaa8ca6e63a4455508fb6f63b1d6e173a271e59ea74807dcc4820015ba631cbac5238eeba90438f1c6c9b0969aab80a073c257b6e0fbe03eee878d6c16de68a9e2ff4a0124edc50c223b686adcbf58b94ae92ed351851da3885d59c3bf1776f5553ffbaee7c32112e8d2c3347a3bda0dd8f90e8805a63146db91d31fb5cc7d65411408d723bb2103f39405ff0751e9af21aa040282f2724e63d01a0f4824af34e7820fddca00288dc5c99115453cfdc45932dcfff11e38cdd71c80e9ed228fe2cec3ef3038c2bcb37eca87b671178df4ee3a581bdb5619384ab86334789fa731c4663611d996796d076a149549a0ee01f0d1929480a3ec7e12c9c06d770ee35786df0c5d53f7cd27c5763c372622a3845a56d2780d064a19e04a89e798458b7179080739a2d4a36bb79dc8f9145c8dc6c1a84de348852b480acf3b9dc65f8abfffffc11116f800a086fed95ed27c69273b4d57f46d985e8b2aee1a9ddc7fdce1ba6ad3c324c16a219ec7e5e74c5712c2a39dc985626a0db0df3ad3b432489641840c4551e976dbb147cbc66a6801fb59332703bdb982a09fd88f914794b62ab86c2f8c4c3ad3b21b505297aae02eccf3fdadb03df6ee03ecf48be12af1e586359e640973ab596f1d48193ccb8fd901667d1f5ab18470f3a940fd0a1a967d7ef2f2bdce096270c17ac0819082b11f228b996e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0fae374a38094bbd8c383fe9f02c4a07682f7d473d35b9d902a0278e400b4e5d0531f5763e08472b12dd46e80e1402851eb0c7b17b834de7d053547726e71018468a88eb3c2a194d4d563e23cc51ffd3142b2ec5d62d6bbb3221162666ccf207aec3e50ec5828346b112c2633a427ec1dd60e15bd7744e819b85f2991818fb7b00821180c6abc601465ff3788173bb9b537f9b794418bf7f103ba3616006c419fb92256b4922a3ce5711e283e380e4d2aad72952f66bd04bea3b8c5aa8c8a16e73382e6824a8f60f2ff20b40e1b3a6c7ac3dc0b840d0c3a96c7fefeb953d7dfa7351fe2514c26e06026e0f64de4f8e431d32a682f603a35d80ee3f81140763ce1ead5fa1f8c3b2df042a614d25b1077cec1f3c1dc91fcea40c0b7c9ef6028263aa54044a16091c1152ac04f26eae4d1c1b118a659919717fc5ec6646f0b3f8b1ad8e38345f42af67e6a64493bf5e982c4e724f80fead51e6c94d31ce8506fdc287164144a7ec6a52003904dd4ac87b2954f5c71cb9f1b5bef124972ac68db3d23f123bb889136738e4d270a2c3b976272cfa467a8c5bdb602be0e7034669ce788dc6bdc6ca4aff0cc3b02aa4ab33abe3287a25a72bed18342dacdc2c5409633ed773b122b8d28a9b65d44c569c2a64600de563c91e92b01e0dc04e0ca9160e4064f722828142d047bac28d60e80351294ce402e022f70d363809ec7f9e5f1c792e16f378942704901aa8f559100b25d2d6f70dc740f3ece8a1e72897a527d6eb19a5b9c817e11924b67add615a186267c6f66a624981eabc7befe625a9bf3229066702c46d67ba84a679d6b09ce90eab21996f1d10a91a0394c6049e5f3cd0f4ec4fc05d01ea5c13098bfee7035f2079d0c3c60993598a73f5a8ccb006f28872e3df1afcca6df2ba4a5187baa65f7353be075987aa59048b02d8bfedf8ad75c67eda75be2cf70ec368bc1447c034749f7833a5acb5ef5029b5785a2d73c389e27f909198bb96df3f777025152e09b14283208c56f8dfb0c4fd772c59c6f41a98600d8b1a7331ba2ed096d8e9cdab257da27d58ea15fd33ce86ddd8694be6df8f65e4453bce0b9614fd4dc438e2e68da96f15f2dc20d4f782362062a2376ade2beaf90da391f29760211be9f4ed5297ff75bb8128c30f7606247bfa25fc11e6924162c089f27826f9eb8d1f1ad84cac7632fe01086a2a1e98309dff4b67291ab5168f36431958e29a909915390d62e76e8cdb4fcc0961a74f7fb54fadee68afdbdaa4583aabcfb8d911a2daf2e6c0466b0c96181e288ea7a6363f7dd041bf3e8f23c9ca3abf19cbf486f70a7aac10c3d555c55c12a09ca5bc654479a40bc4466aefa20efbff97f79d4a13bb42194b5598db9574b05e7881da11e05eb3787b3ae5d76ab60173fedc39122560c529fa9485ec6b6a6ea7aefcae29cda48fb0544e1a8f6eec2211e7391ab826c0a696902574d567592ac2d8e4dac0f97998696b3f452f51f94dff62746c16f054884d50570c1e151e5a269b8b180ee593e873455695401522f7bd4c1b3c5df60d366fe2b5cff4269b19a6a9aca3d3769772a04499f910e72a81db29ffe7700169ca193ed01306638325df6891e3d850accd8be3c7292b670f2d194a2811fc2c85d42b5224c5ba73571b0852a5eb14d99b02b9efed45fa8a60872ac95ef818f3abd01c10b366fb81663fc16c75c17f57d293950a3182336c48ee92b07672a5ec65245d108a908c356867aa6224895e1316e584470faf492a34b4c8c020ce6af8a4ec0be6cf94243d49c93b90dddd9e59516e4d338d3df10dace4823f12ea69203e6c324667f18cdf31299d1819a004904ffcba48dbf2c69e2a0f4d7a0c16be5d9522f2437c92dfba3cfb08112ba8ad9e965d34b9f8b4741024e47aafa00347cedef8c98682ef0606680dd0441d3290e2c52acf82603035f633e8bd08207a8d1d7620b47ccfdbe469e4e30e6d15927ca47886b0ceb050e7619daaffabd79f1ef42e0daf937396b9a5976c26b1425f691ba81a4be3c6426635b5a0da16082b68b24aea82bee706f820ec2fd057f7eaf6b2dc1216b0502b3ac28b7256bd99f8bbe3a8298a0e9ba9f6f34ebde653cc14b0bac8ef47b7a74186778f1389f7e60ab7a5a059620c0f34fe0ed979eaaafb0589d6714bbaca4719d5061dfa4a72b8c1c573fec0801120a0fa6866d2f06e26568d69f8a8a0217ab149b9ec828a75677e4324632033f997ad8f3c07e13717b425702e1c86fe28902d8d47fe9fe7c423e810c3fad18f77b9bce44fb5ad3d79d93924c4fb126b7ae14c154a3ce4aa88c8841f009d389af6112a53cc4e4b1c948ddaa1d9ed61a36d73ef50e0e77ce281e17ed61d74450b0ffdab7d00a5dd2e72bc0c3c6b522e75290d143e426242fa7483f40257f81d3b407f1e94e5dba31bf5331304f5c1d92691d11a9a001323583d767681a96bcc502a50b7061865bb6478216303223b4cf6a047493f875b11ca06c274cfbae26f6f91bc2020eb30673e63878c1c6f01d05dec82d331fed4d02c34a7278f4de05cfa39ea96252b155a64194fef54812370107a0b3657214faa6919b96e6829cdf0f1d59f84e93eb4d0661a5c4e202c310fd9ceeb07d669e7c7878abc0c336b3f6d06bb87be7efd41e7b53cd6099cb9a7d2a75d12d192c7dab33b7dc53aa732e51e6d49b5121079b9301d2782b6287e57bc4c01af2079d5920b2e2ef2f08a08f9a00277b453058f4cf8dc5ba504e95b3a5a332f0baf0663f5021fb873bdc51c13e5ee0b7d778adfda0f66c75f2e1057eaa43a0958dec071f70d5e93a34ddd5b37e6915453b7eacd18482e72d21c6fc2db58778830075f2ec55af26b8ed7cf35aa4466f634a73886dbe321bd49edb62d50d149c1a78c6f91804c79b68138f2567c35fbefc665edb9729c129e88d20fa095d714f55b60e0d4c041c96fa037f838406bf67964352e0d78357331ea16e29125c69c6f5c49d7db8d097e044501c59bf8ac05125891472241b0ef65f0cb8626b098bbf8ab1b606f0b81ad69c33a3ba1d151ffb7f0aa198d5255597a3d30a6ae35c5fb11bda395d28fbb52431e2f75687848c04ed9bd372493bf2c65b514e699cf1b5ef30ee39b8dc2317d09a762db4f8559ab4413b925ab050fd104203ba6fac6951f85b8644c8fcf74cb07a2e8a463d8dac7434790753c8550cdb951b582414d714f347036561eba8376ba2878dd0bd6281ef3878bbe35a86a132f74838a0e9c41eafb9763031e85b1871d2cf81e9c59ca32079d4168a3518b4c7417bf1b30637176a260a4b7d4bf72ca01f0731edcf11b0d3ad15d8b3be77c47cd6b4f970e9e2fa0c823140d6341503ee0ec7364efa4365f8ed378cf7b478047837201a8a731b74c4ba0849bca82444309076b2ce572062f412a603d273664349e74540638d65ec4648a706cc636b6649f7683879e59ec5892e6607eb75b27ab5a28e439431e507e33e5bec0fe02797664aae424c9b07f36e1f9279c37f435938607bd526d82357be144eb49285bc3d8fdfb724f49980b31846da62a698abcd4161dd9d03f5fa46469808bffb11be4454d8798a1bcfbcab2cfe837ab7d6ca3604690ffade60a2f7023e3706693e356218ee1b3e69ae708f1461ecd4f7334bd4561811892927be3fb7db93947ed7168c8bc406df6feb1247ab227ecf4e898cdad5e6cfb69def6c5bba78f7aa9f51a1fa36c5f46268c6c959378b29bba2ea601ab753444f3006c07cb9a87cf336b3f9c1b18b0ec7f47614e28e59183b79fa32e2964b4e78464f355bb4cca422b48798b518796568c024f84fc6d03f89dabda2e19022a0968ed9e6180e5edcc72c8be5a25dadc565757b1ac0ac5fef7ee04b260f2b096a96b2c98dabd9dea43da1bdc2d6d8fa15510956889d989587b47fbc0af3635ecf20ce859642085b69b6a91989b78d485bd297cc7d7fffe86a991ccea5c32c64fead18b9c8bfd2299ae24bd50afabd24a4dbf3940a77fbd0eba022f00df9e943ac9abb4c8e6a0d47f58597e97ab3ec3d5ebe1fec2328d92e7866195f20b00d53bb654f102b524494cb498a640370d5618d265af1e0adfae64ab75f340e74afb1109ce29693d52356a3c49884130d1d70e5e391553b0eaf03ef349832414b2eb1399311776c2c9f1bbe519dbffc3bd57473adacb4499cea3ab2243ec6aa7dfa463b60045178844311e5cb67664ab4ab537b2925d2ce9ee3efe68ca2d68d26af273be672beed6aff643382ed059b182057752ef6f18bac93d7d31d3cbf59967c4d14301983ae17ff0469c09c76ce05bec13822302a8d1bba1615257257e60212b8dafe6659974725f38ce735815266d71187d4cba485245bac2db7fe67ad09c7d3359f1a9d38f7150bee4d597a9f89633b7063dd39b866d64b4af396a5777692834c92124858ac14258ecd8dbc951eace7429633271b35d29ac603954d81a2e829e36584a8d3639317963ae15f495fddc2dba4ccd0878629f4d97aeef75b1a5f5b083d687acaa51879dc43f9fd247433cb76f575fbb131bfbf85d6a6c028c97c08d6e745ac5658a06ca209039259b4b934c335d991c675c9ca9b7357ff2eb817ad19fb7077a66b3bddb64e1add42f37c2727224062ffaee5a3b4010d98bce61c4072923f7622b01c37dd29726e746c96378b76c1f798aa41f7573141546d066fa7c15b871ffa382f8e028ae142771962b4868085fe6bc9e5ddd95a766d9e9c991828eae58cf286253e1e3c8ee92eb418e4714e90972b5a2172c2c164c626069a0819a4609a45354f99bc416752b2205f98e6c7821eba7ac28c0f60afc34f052a2e961e190d6f463f14b3d392fe43f9dace54b41d3dbef16225298045c045130de953535606ebc8505b75763445a10f485850d43a54632019ec2a08862ee4175e607b014fdc8da7ad9ccf53e1e712b95c9bf2e85e8db944dbb264d8e61636ec59a4cd723bea2e021bf687c6af0ec9b44e41bfbc068118e2c4ce65b8988d34fd3ad984bd32f1dcfffd41243938e3b918ccf51cbf4e19484b5acf62453a6114fc462cd7466e687039d8414361b7095ae53b25d25f015acb0d73541a4bf401592aed871461e6473a83400ceb37cdea7fb6df0ad5ecc41cd9c7a0da8375e29631d561645098e617af8ef0cd7351e294bd190522afacec8b0500c48cbb6b8d701aed18ee85bd583da15a944f8aabd96f4bc50b70e874101df01f9632954bfd71f5e101f6a2356d41c7e91f0c25f54525230b2d165bcee22de2eff35d8d4c53b1915d91304bfeb6c7ba2b79b7a878533ea32df08e9e0405881b210af2adb837aadc188acf16122a3ea7dcbfe8570a5d3fee4d106ed58504a1c4df0e112cb5e1126f4a5b6e837236cb05e21e1a96be8a1d0fc4ef0e37ace04de7573fefe193571f171fd6857f9a082e9840b184f80a91cd0e7f53d6bcc877f96f5e06682d12aedd83819f5a6f55b3e31341778d47d8420aaab2cc0b98eb6e8ae8cc6720b663218406b95525f5e5911c97cebea73615fc4146d6a4caac7a92c73ba0ab46daccc678f31bc784b81d5ad7a48ae557d13e77db7923c0f24f7e7710f6a8a8f265888b3a415258312f8e36e723b4fe164c2e58ba1bb5452b1ce2ba8e5e547d804d9c1a6740d2d414aa44db5a438b3d095ef90ba83927f3b70035113812f3ba09820126bb99f4340464dcbf2a071b7043c719d75dc2f60a7bc44ba32554dd0ee46f504fe3eb908e77c8b9bd2369e9b8af55eb1bbece292cdcee4a40707abbae83945dbd419833346572e7c0a734958c7529af1b9c1d18a5f0b2ef4d048d1ed0c3811874de46670536bdd5985a3ba7c6ae411ddabe05bddf25cfc081d8bb5052ce00f0a326348a36a2de108f622f9c489cd6e2a750835345f9337cafa1406e72b38c59274ce64680a2172923a82be527a93d2c9be6624f7ce4ef45d6bcdfa89630db98d33d8a873d90c614e275d527b3394035a53a25d038a1b57e604b6a500fe12adc95072c8b17d79356a7e85acdf787d49aa94d0952649a2aeba573861ba2d9871b4a4c5280f543bebcf4bf8245c3258b05c369db9b307f8c3ffe0da84f775646d0a23ae9575bf08f16615cce47346f03eb03f7f1b266a10bacaa2b732a9d3dff3916e71a71b76a830f23db0e18c83cffc51fa9155da51fcd24b40f87e5f35bffc629b234328993187c5ed6bedc9083a120e64222b1552e9af82cc4e9adb69f2065336c2c3ffc179f9db83a2d8bf81d4998181191a73f349c6484eeff9fd63f0ca9c7adfd4d6c769a97de60576ba1509e0ab0efd0102e04b1a0da9a777985dca37d82e5574a39119a6c8d1ba689fe2f06d0c4b3cebc6b897c591485a6af69cf45d97ccf81fc4fd7b3b16a59d8fc7d100d94030830281c85f50011ca4c88f7ed4dcf3350a521b07efa3a06e0240b619c8768e467609fe08fa53022d3037a45cdddb67b42f7f2b9187c395d2d6edffac3bea4ca207e7262c888177780b28dd73fe087fc842c17a6f997b78d66b88b7d8a00eb40503b089786fb84ff351fc4352ee52088dd26d06d0cbe4b5ad1b168c0474c93b1e0715b24c52b2983debb829c8d4bec352cfa33850baf9d9781a33b8773efbb1d4b1f6928086e0af8faa6e78034327359c87dae14de00e7883183b119148c6db6361fdc96464deaaff9f22e3ba01bcd130d08209323f4b4d15a4a1904a61e1f3f5129f04c8b49310b0ce4aa7847ea0caa61b7af7dd6a0efee93c0e2f476fa2c99696d4ca4039270b5768384f40b7e254e3eb391f652f5bd99a6cdc8f84ad28d9ea775b5cf598f35c8e9b89c13c44a622fe7c786e72a060a7fa156ba2c87d6360ce6bc8a7cc340f8493ea7f051ea9d2a2c60c81b42a091a623ad5d9e35cc45d68d149f4a73666f5afb06b3d1c6a843283ae783092b1ada66598f295321e010efcf50f1017c014bb5b2a05331601c66f6732a01ede55c658c583a498599fc01f10e38fa237996d62c171d8344672efa442115602f6c3219ae057f45b80e7aee30b9518e15c87e8aa6a7ff90ca6a3f626e13376f2ca90caa6191258aeb40d776c68c966c26d257e889902b9acc5b97ab86e031ba9e75ea02ae724142e8ae851d868c03a65995130ded4246a720c1a9a532ac5a5c49115bced9ed81ca9b87c19673af52639636428c293319e5262b622ddbe03cd59af06d5bc8622e42120b4b14d4dd0ec788405518359829dc0cd56aa021d38563f62f461cec6b3460279c5a5da90827e7d744cfb2ca5efc1b4a22d1913223ab1c5fa70eb3dc9b94845a943b57e4c6cf43c15718e30695387834af1cdf30173566b2b00d032da78a0aed6db71c6a9c515aa127a5a03588faae40d2b1fd5da5924d7dba9ab6fdcf7a066db72018d7d1de423eea47dec2eec237ac4ca8faeae01e2e32cca87f33dc0d41bd0c1d2cf8e2f1f878e39490cd31003ffb0ffdc2b5de38316fa00cecaad70d7defa21fd52d1b7a2675658bdb3835002738eeebbfac91024051b2ea5c10791a419e51c06b71159dccecd1795a3410e6b2f93ac69e4737cd10b0c4e99edade28782925ce5366b15c8edd00a6afcf7252bb9885b0b89d945367b4be3b87188e42b950172880c6b01f23ba74097eb201ac18ad8a42b5cd33b5d014001f85e15360ec423a6eba9b06ce023b54eb395036cb8cf2e0c9c424a87dfdacbb31b34d69df79cb9b2ca68b25ba479c0d260281ffc307fe2694acbded0c8a74f3a817babcad98d3d9e89895d70d44faaf8d2504bced050381ad08fcd09fa5b867446313b7e88bc5a0af4028952f741da41a8c83c07ebbf0592363eec655ae515b1380d8d8bb8f6314f907e71b661dfcddc54bac6166ce84b82903c2b283a723ef43da98341dfc057a6d9aac2fba1f2162661c8533b909abe7325de7342f629f352d5c47f63e73b55680bb84c316bfdc2c929c70e7fc25861ab93992e7200d619105d3f837f7e6bd7cf47443d95b30b3808d8f61348ed3e0cfb3c6a784eda8f8fa258af22b64f29a1209f90f1bd0417107d45db5c2a30593f9155ed00d27536ed598038351632c7c5f306f8fd529ff7bb1b113d3baf18147c0f4789d6fb960f09dfbc0f810b26f3aaa098d07ead6da79fd98d664d74ad973a672757c17e3b2d6045b39aa540df2f9682ca74665d8593f6cac61a64613ec252d070fcdaefbe8ad37bbe74a433fb80d7193e14221cada6c345a15bba5631f8eb2ab2530550f2658cb34afef5973ec85ba8ee1c021bb7733ca216b642d56bf969d8abea6d69db8050ced9391c8ebc7993679b6a34ab677a0093db5a6bc9eec8e3828b42aadda24698609220b55f21f573a7eb742577afe1e4b06c6d689a7ffe57418d161ccd51c40d13dceb5a46218ddfb36ca2f1e6debea43a146be1a11612f956eb99d91d5517bc32bfd7d11bd7042e7c98571e70b8ed8df5a0a9468443e5b3178168ceb0051c8cd6bc8d5f2eb1bb855e4831f9c59998a0134229edad8e0feec8601ee82392de5cd07cc16d01081bec620916b12d28367fbfb967eef16d6bf798bdecc0b4efc072da4e7c558241a8c64e21c87e7ff92037944daa95f263d208f96c2b1023728844677653860bcb8d89c76b23435c27c0c01803349f3f57603463a5f17c5200f7ca5e8bc2cc9ec8a2aed43d5be3dd7e76a9a005924db6aafbd8e546c3e5153d09b939b22f4d149625d368af37ec162b3b7f119b7ceb2fa5bbba8a6a1798a0fbb3c0d67b634aab9fb5b9f09ec15e9f52c9405740d2f8383d5fc470830aa4233a7a0d920cc12081cebf604e633881d57ba87d5479f3207e04505f0bb7ae021af16b7cf2549eb72465ad31dc398d8db848ef1825cad93f927b4e6dea20f397547add97b8ecb183cd4799512a9afda0d6ea3081b6eb9b1e61f38716e20482d8b9de2e701c5f58634e331ac21be8e5c762daa0fa81c8e1285f80ccc880b31897a3b79dc5d654c9e99427ae122eeca2bb11a1b62d5b24dfaf96b1c4e8180244dcf99bd527014780986468a57113b696026a46322141ff9569f6b7a446b0c12982099fff9491564c205bfe1aaffcdaa4de275de30e6eee44e1606aeb1c5bf9589ac94a83c5e3ee57cfef54117012566889195bacc26767745410c25f1283ea9b5553c407e08128b37b5844f9cfe940decfcdbfe1117bf55f312ac0ef095a5b6c78cf4f3d720fb10e50b6bb4775908b1e7cd53fe38e1081d0083657fe878e081c3e2ca0fcaac698eff1d08cad151d3d02e42c0ee0fcfcacc129c96fd5a5cebd73beef3d10b4532d104b564b9c3a2acb4e4420746c3f677ece8a97a1ba70554ad029ed068eb8597407a27b7ebfbf6e2f6ae6492fed9aa0556cc150496ed31c8c449d0bfa67f981bea5aba89415b11d633906db804a03299c8fd5a17be4c8c203865a92848ad8663d24e6864f5fb726200/etc/alternatives/salt-call/etc/alternatives/salt-support/etc/alternatives/spm/etc/alternatives/salt/etc/alternatives/salt-api/etc/alternatives/salt-cloud/etc/alternatives/salt-cp/etc/alternatives/salt-key/etc/alternatives/salt-master/etc/alternatives/salt-minion/etc/alternatives/salt-proxy/etc/alternatives/salt-run/etc/alternatives/salt-ssh/etc/alternatives/salt-syndic/etc/alternatives/zyppnotify@@@@@@@@@@@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-3006.0-150500.4.65.1.src.rpmbundled(python3-tornado)python3-saltpython3-salt(x86-64)salt-call @@@ @      /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/env/usr/bin/python3.6fileiputilslibzypp(plugin:system)python(abi)python3-Jinja2python3-M2Cryptopython3-MarkupSafepython3-PyYAMLpython3-basepython3-contextvarspython3-cryptographypython3-distropython3-looseversionpython3-msgpack-pythonpython3-packagingpython3-psutilpython3-pyzmqpython3-requestspython3-rpmpython3-xmlpython3-zypp-pluginrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)saltsudoupdate-alternatives03.60.32.2.01.0.03.0.4-14.6.0-14.0.4-14.0-15.2-13006.0-150500.4.65.14.14.3i%@i@i%@i <@hDhg@hcg@g@f5fxfb@f:feee@@e%]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?@alexander.graul@suse.commarek.czernek@suse.commarek.czernek@suse.commarek.czernek@suse.commarek.czernek@suse.comvzhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commarek.czernek@suse.comyeray.gutierrez@suse.commarek.czernek@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvzhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@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.comalexander.graul@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- Add minimum_auth_version to enforce security (CVE-2025-62349) - Backport security fixes for vendored tornado * BDSA-2024-3438 * BDSA-2024-3439 * BDSA-2024-9026 - Junos module yaml loader fix (CVE-2025-62348) - Added: * backport-3006.17-security-fixes-739.patch- Require Python dependencies only for used Python version- Fix TLS and x509 modules for OSes with older cryptography module - Require python-legacy-cgi only for Python > 3.12 - Builds with py >=3.13 require python-legacy-cgi - Fix Salt for Python > 3.11 (bsc#1252285) (bsc#1252244) * Use external tornado on Python > 3.11 * Make tls and x509 to use python-cryptography * Remove usage of spwd - Added: * fix-tls-and-x509-modules-for-older-cryptography-modu.patch * fix-salt-for-python-3.11.patch- Fix payload signature verification on Tumbleweed (bsc#1251776) - Fix broken symlink on migration to Leap 16.0 (bsc#1250755) - Use versioned python interpreter for salt-ssh - Fix known_hosts error on gitfs (bsc#1250520) (bsc#1227207) - Add python3.11 as preferable for salt-ssh to avoid tests fails - Make test_pillar_timeout test more reliable - Modify README and other doc files for openSUSE - Set python-CherryPy as required for python-salt-testsuite (#115) - Added: * do-not-break-signature-verification-on-latest-m2cryp.patch * use-versioned-python-interpreter-for-salt-ssh.patch * allow-libgit2-to-guess-sysdir-homedir-successfully-b.patch * add-python3.11-as-preferable-for-salt-ssh-to-avoid-t.patch * even-more-reliable-pillar-timeout-test.patch * modify-readme-for-opensuse-728.patch- Revert require M2Crypto >= 0.44.0 for SUSE Family distros - This reverts commit aa40615dcf7a15325ef71bbc09a5423ce512491d. - Improve SL Micro 6.2 detection with grains - Fix functional.states.test_user for SLES 16 and Micro systems - Fix the tests failing on AlmaLinux 10 and other clones - Added: * improve-sl-micro-6.2-detection-with-grains.patch * fix-functional.states.test_user-for-sles-16-and-micr.patch * fix-the-tests-failing-on-almalinux-10-and-other-clon.patch- Add `minion_legacy_req_warnings` option to avoid noisy warnings - Require M2Crypto >= 0.44.0 for SUSE Family distros - Added: * add-minion_legacy_req_warnings-option-to-avoid-noisy.patch- Prevent tests failures when pygit2 is not present - Several fixes for security issues (bsc#1244561, CVE-2024-38822) (bsc#1244564, CVE-2024-38823) (bsc#1244565, CVE-2024-38824) (bsc#1244566, CVE-2024-38825) (bsc#1244567, CVE-2025-22240) (bsc#1244568, CVE-2025-22236) (bsc#1244570, CVE-2025-22241) (bsc#1244571, CVE-2025-22237) (bsc#1244572, CVE-2025-22238) (bsc#1244574, CVE-2025-22239) (bsc#1244575, CVE-2025-22242) * Request server hardening * Prevent traversal in local_cache::save_minions * Add test and fix for file_recv cve * Fix traversal in gitfs find_file * Fix traversal in salt.utils.virt * Fix traversal in pub_ret * Reasonable failures when pillars timeout * Make send_req_async wait longer * Remove token to prevent decoding errors * Fix checking of non-url style git remotes * Allow subdirs in GitFS find_file check - Add subsystem filter to udev.exportdb (bsc#1236621) - tornado.httputil: raise errors instead of logging in multipart/form-data parsing (CVE-2025-47287, bsc#1243268) - Fix Ubuntu 24.04 edge-case test failures - Fix broken tests for Ubuntu 24.04 - Fix refresh of osrelease and related grains on Python 3.10+ - Make "salt" package to obsolete "python3-salt" package on SLE15SP7+ - Fix issue requiring proper Python flavor for dependencies and recommended package - Added: * fix-tests-issues-in-salt-shaker-environments-721.patch * several-fixes-for-security-issues.patch * add-subsystem-filter-to-udev.exportdb-bsc-1236621-71.patch * fix-of-cve-2025-47287-bsc-1243268-718.patch * fix-ubuntu-24.04-specific-failures-716.patch * fix-debian-tests-715.patch * fix-refresh-of-osrelease-and-related-grains-on-pytho.patch- Fix aptpkg 'NoneType object has no attribute split' error - Detect openEuler as RedHat family OS - Ensure the correct crypt module is loaded - Implement multiple inventory for ansible.targets - Make x509 module compatible with M2Crypto 0.44.0 - Remove deprecated code from x509.certificate_managed test mode - Move logrotate config to /usr/etc/logrotate.d where possible - Add DEB822 apt repository format support - Make Salt-SSH work with all SSH passwords (bsc#1215484) - Fix issue of using update-alternatives with alts (#105) - Fix virt_query outputter and add support for block devices - Make _auth calls visible with master stats - Repair mount.fstab_present always returning pending changes - Set virtual grain in Podman systemd container - Fix crash due wrong client reference on `SaltMakoTemplateLookup` - Enhace batch async and fix some detected issues - Enhacement of Salt packaging * Use update-alternatives for all salt scripts * Use flexible dependencies for the subpackages * Make salt-minion to require flavored zypp-plugin * Make zyppnotify to use update-alternatives * Drop unused yumnotify plugin * Add dependency to python3-dnf-plugins-core for RHEL based - Fix tests failures after "repo.saltproject.io" deprecation - Fix error to stat '/root/.gitconfig' on gitfs (bsc#1230944) (bsc#1234881) (bsc#1220905) - Adapt to removal of hex attribute in pygit2 v1.15.0 (bsc#1230642) - Enhance smart JSON parsing when garbage is present (bsc#1231605) - Fix virtual grains for VMs running on Nutanix AHV (bsc#1234022) - Fix issues running on Python 3.12 and 3.13 - Added: * fix-deb822-nonetype-object-has-no-attribute-split-71.patch * detect-openeuler-as-redhat-family-os.patch * ensure-the-correct-crypt-module-is-loaded.patch * implement-multiple-inventory-for-ansible.targets.patch * make-x509-module-compatible-with-m2crypto-0.44.0.patch * remove-deprecated-code-from-x509.certificate_managed.patch * add-deb822-apt-source-format-support-692.patch * remove-password-from-shell-after-functional-text-mat.patch * repair-virt_query-outputter-655.patch * make-_auth-calls-visible-with-master-stats-696.patch * repair-fstab_present-test-mode-702.patch * set-virtual-grain-in-podman-systemd-container-703.patch * fixed-file-client-private-attribute-reference-on-sal.patch * backport-batch-async-fixes-and-improvements-701.patch * fix-tests-failures-after-repo.saltproject.io-depreca.patch * fix-failed-to-stat-root-.gitconfig-issue-on-gitfs-bs.patch * update-for-deprecation-of-hex-in-pygit2-1.15.0-and-a.patch * enhance-find_json-garbage-filtering-bsc-1231605-688.patch * fix-virtual-grains-for-vms-running-on-nutanix-ahv-bs.patch * fix-issues-that-break-salt-in-python-3.12-and-3.13-6.patch- Revert setting SELinux context for minion service (bsc#1233667) - Remove System V init support - Make systemd the only supported init system by removing System V init and insserv references - Ensure package builds with no init system dependencies if built without systemd (for example for use in containers) - Apply some spec-cleaner suggestions (update copyright year, sort requirements, adjust spacing) - Signed-off-by: Georg Pfuetzenreuter - Fix the condition of alternatives for Tumbleweed and Leap 16 - Use update-alternatives for salt-call and fix builing on EL8 - Build all python bindings for all flavors - Make minion reconnecting on changing master IP (bsc#1228182) - Handle logger exception when flushing already closed file - Include passlib as a recommended dependency - Make Salt Bundle more tolerant to long running jobs (bsc#1228690) - Fix additional x509 tests and test_suse tests for SLE12 - Added: * handle-logger-flushing-already-closed-file-686.patch * make-minion-reconnecting-on-changing-master-ip-bsc-1.patch * revert-setting-selinux-context-for-minion-service-bs.patch * enhance-cleanup-mechanism-after-salt-bundle-upgrade-.patch * fix-x509-private-key-tests-and-test_suse-on-sle12-68.patch- Fix failing x509 tests with OpenSSL < 1.1 - Avoid explicit reading of /etc/salt/minion (bsc#1220357) - Allow NamedLoaderContexts to be returned from loader - Revert the change making reactor less blocking (bsc#1230322) - Use --cachedir for extension_modules in salt-call (bsc#1226141) - Prevent using SyncWrapper with no reason - Fix the SELinux context for Salt Minion service (bsc#1219041) - Set contextvars as a build requirement for package - Increase warn_until_date date for code we still support - The test_debian test now uses port 80 for ubuntu keyserver - Fix too frequent systemd service restart in test_system test - Avoid crash on wrong output of systemctl version (bsc#1229539) - Improve error handling with different OpenSSL versions - Remove redundant run_func from salt.master.MWorker._handle_aes - Fix cloud minion configuration for multiple masters (bsc#1229109) - Use Pygit2 id instead of deprecated oid in gitfs - Fix few failing tests to work with both Salt and Salt bundle - Skip testing unsupported OpenSSL crypto algorithms - Added: * revert-the-change-making-reactor-less-blocking-bsc-1.patch * fix-x509-test-fails-on-old-openssl-systems-682.patch * prevent-using-syncwrapper-with-no-reason.patch * avoid-crash-on-wrong-output-of-systemctl-version-bsc.patch * allow-namedloadercontexts-to-be-returned-from-loader.patch * fix-deprecated-code-677.patch * fix-test_debian-to-work-in-our-infrastructure-676.patch * fix-the-selinux-context-for-salt-minion-service-bsc-.patch * use-cachedir-for-extension_modules-in-salt-call-bsc-.patch * fix-test_system-flaky-setup_teardown-fn.patch * join-masters-if-it-is-a-list-671.patch * replace-use-of-pygit2-deprecated-and-removed-1.15.0-.patch * remove-redundant-run_func-from-salt.master.mworker._.patch * make-tests-compatible-with-venv-bundle.patch * avoid-explicit-reading-of-etc-salt-minion-bsc-122035.patch * skip-more-tests-related-to-old-openssl-algorithms.patch * improve-error-handling-with-different-openssl-versio.patch- Fix rich rule comparison in firewalld module (bsc#1222684) - test_vultrpy: adjust test expectation to prevent failure after Debian 10 EOL - Make auth.pam more robust with Salt Bundle and fix tests - Fix performance of user.list_groups with many remote groups - Fix "status.diskusage" function and exclude some tests for Salt Bundle - Skip certain tests if necessary for some OSes and set flaky ones - Add a timer to delete old env post update for venv-minion - Several fixes for tests to avoid errors and failures in some OSes - Added: * firewalld-normalize-new-rich-rules-before-comparing-.patch * several-fixes-for-tests-to-avoid-errors-and-failures.patch * test_vultrpy-adjust-test-expectation-to-prevent-fail.patch * fix-status.diskusage-and-exclude-some-tests-to-run-w.patch * skip-certain-tests-if-necessary-and-mark-some-flaky-.patch * some-more-small-tests-fixes-enhancements-661.patch * provide-systemd-timer-unit.patch * fix-user.list_groups-omits-remote-groups.patch- Speed up salt.matcher.confirm_top by using __context__ - Do not call the async wrapper calls with the separate thread - Prevent OOM with high amount of batch async calls (bsc#1216063) - Add missing contextvars dependency in salt.version - Skip tests for unsupported algorithm on old OpenSSL version - Remove redundant `_file_find` call to the master - Prevent possible exception in tornado.concurrent.Future._set_done - Make reactor engine less blocking the EventPublisher - Make salt-master self recoverable on killing EventPublisher - Improve broken events catching and reporting - Make logging calls lighter - Remove unused import causing delays on starting salt-master - Mark python3-CherryPy as recommended package for the testsuite - Added: * skip-tests-for-unsupported-algorithm-on-old-openssl-.patch * make-reactor-engine-less-blocking-the-eventpublisher.patch * remove-unused-import-causing-delays-on-starting-salt.patch * make-logging-calls-lighter.patch * remove-redundant-_file_find-call-to-the-master.patch * prevent-possible-exception-in-tornado.concurrent.fut.patch * do-not-call-the-async-wrapper-calls-with-the-separat.patch * add-missing-contextvars-dependency-in-salt.version.patch * prevent-oom-with-high-amount-of-batch-async-calls-bs.patch * speed-up-salt.matcher.confirm_top-by-using-__context.patch * improve-broken-events-catching-and-reporting.patch * make-salt-master-self-recoverable-on-killing-eventpu.patch- Make "man" a recommended package instead of required- Convert oscap output to UTF-8 - Make Salt compatible with Python 3.11 - Ignore non-ascii chars in oscap output (bsc#1219001) - Fix detected issues in Salt tests when running on VMs - Make importing seco.range thread safe (bsc#1211649) - Fix problematic tests and allow smooth tests executions on containers - Discover Ansible playbook files as "*.yml" or "*.yaml" files (bsc#1211888) - Provide user(salt)/group(salt) capabilities for RPM 4.19 - Extend dependencies for python3-salt-testsuite and python3-salt packages - Improve Salt and testsuite packages multibuild - Enable multibuilld and create test flavor - Prevent exceptions with fileserver.update when called via state (bsc#1218482) - Improve pip target override condition with VENV_PIP_TARGET environment variable (bsc#1216850) - Fixed KeyError in logs when running a state that fails - Added: * make-importing-seco.range-thread-safe-bsc-1211649.patch * fixed-keyerror-in-logs-when-running-a-state-that-fai.patch * allow-kwargs-for-fileserver-roots-update-bsc-1218482.patch * decode-oscap-byte-stream-to-string-bsc-1219001.patch * fix-problematic-tests-and-allow-smooth-tests-executi.patch * discover-both-.yml-and-.yaml-playbooks-bsc-1211888.patch * fix-salt-warnings-and-testuite-for-python-3.11-635.patch * switch-oscap-encoding-to-utf-8-639.patch * fix-tests-failures-and-errors-when-detected-on-vm-ex.patch * improve-pip-target-override-condition-with-venv_pip_.patch- Prevent directory traversal when creating syndic cache directory on the master (CVE-2024-22231, bsc#1219430) - Prevent directory traversal attacks in the master's serve_file method (CVE-2024-22232, bsc#1219431) - Added: * fix-cve-2024-22231-and-cve-2024-22232-bsc-1219430-bs.patch- Ensure that pillar refresh loads beacons from pillar without restart - Fix the aptpkg.py unit test failure - Prefer unittest.mock to python-mock in test suite - Enable "KeepAlive" probes for Salt SSH executions (bsc#1211649) - Revert changes to set Salt configured user early in the stack (bsc#1216284) - Align behavior of some modules when using salt-call via symlink (bsc#1215963) - Fix gitfs "__env__" and improve cache cleaning (bsc#1193948) - Remove python-boto dependency for the python3-salt-testsuite package for Tumbleweed - Added: * enable-keepalive-probes-for-salt-ssh-executions-bsc-.patch * update-__pillar__-during-pillar_refresh.patch * fix-gitfs-__env__-and-improve-cache-cleaning-bsc-119.patch * dereference-symlinks-to-set-proper-__cli-opt-bsc-121.patch * prefer-unittest.mock-for-python-versions-that-are-su.patch * fix-the-aptpkg.py-unit-test-failure.patch * revert-make-sure-configured-user-is-properly-set-by-.patch- Randomize pre_flight_script path (CVE-2023-34049 bsc#1215157) - Allow all primitive grain types for autosign_grains (bsc#1214477) - Added: * fix-cve-2023-34049-bsc-1215157.patch * allow-all-primitive-grain-types-for-autosign_grains-.patch- Fix optimization_order opt to prevent testsuite fails - Improve salt.utils.json.find_json to avoid fails (bsc#1213293) - Use salt-call from salt bundle with transactional_update - Only call native_str on curl_debug message in tornado when needed - Implement the calling for batch async from the salt CLI - Fix calculation of SLS context vars when trailing dots on targetted sls/state (bsc#1213518) - Rename salt-tests to python3-salt-testsuite - Added: * fix-optimization_order-opt-to-prevent-test-fails.patch * fix-calculation-of-sls-context-vars-when-trailing-do.patch * implement-the-calling-for-batch-async-from-the-salt-.patch * improve-salt.utils.json.find_json-bsc-1213293.patch * use-salt-call-from-salt-bundle-with-transactional_up.patch * only-call-native_str-on-curl_debug-message-in-tornad.patch- Fix inconsistency in reported version by egg-info metadata (bsc#1215489) - Added: * write-salt-version-before-building-when-using-with-s.patch- Revert usage of long running REQ channel to prevent possible missing responses on requests and dublicated responses (bsc#1213960, bsc#1213630, bsc#1213257) - Fix gitfs cachedir basename to avoid hash collisions (bsc#1193948, bsc#1214797, CVE-2023-20898) - Added: * fixed-gitfs-cachedir_basename-to-avoid-hash-collisio.patch * revert-usage-of-long-running-req-channel-bsc-1213960.patch- Make sure configured user is properly set by Salt (bsc#1210994) - Do not fail on bad message pack message (bsc#1213441, CVE-2023-20897) - Fix broken tests to make them running in the testsuite - Prevent possible exceptions on salt.utils.user.get_group_dict (bsc#1212794) - Create minion_id with reproducible mtime - Fix detection of Salt codename by "salt_version" execution module - Fix regression: multiple values for keyword argument 'saltenv' (bsc#1212844) - Fix the regression of user.present state when group is unset (bsc#1212855) - Fix zypper repositories always being reconfigured - Fix utf8 handling in 'pass' renderer and make it more robust - Added: * make-sure-configured-user-is-properly-set-by-salt-bs.patch * prevent-possible-exceptions-on-salt.utils.user.get_g.patch * mark-salt-3006-as-released-586.patch * fix-the-regression-of-user.present-state-when-group-.patch * fix-tests-to-make-them-running-with-salt-testsuite.patch * fix-utf8-handling-in-pass-renderer-and-make-it-more-.patch * do-not-fail-on-bad-message-pack-message-bsc-1213441-.patch * zypper-pkgrepo-alreadyconfigured-585.patch * fix-regression-multiple-values-for-keyword-argument-.patch- Prevent _pygit2.GitError: error loading known_hosts when $HOME is not set (bsc#1210994) - Fix ModuleNotFoundError and other issues raised by salt-support module (bsc#1211591) - tornado: Fix an open redirect in StaticFileHandler (CVE-2023-28370, bsc#1211741) - Added: * 3006.0-prevent-_pygit2.giterror-error-loading-known_.patch * fix-some-issues-detected-in-salt-support-cli-module-.patch * tornado-fix-an-open-redirect-in-staticfilehandler-cv.patch- Make master_tops compatible with Salt 3000 and older minions (bsc#1212516) (bsc#1212517) - Added: * make-master_tops-compatible-with-salt-3000-and-older.patch- Avoid failures due transactional_update module not available in Salt 3006.0 (bsc#1211754) - Added: * define-__virtualname__-for-transactional_update-modu.patch- Avoid conflicts with Salt dependencies versions (bsc#1211612) - Added: * avoid-conflicts-with-dependencies-versions-bsc-12116.patch- Update to Salt release version 3006.0 (jsc#PED-3139) * See release notes: https://docs.saltproject.io/en/latest/topics/releases/3006.0.html - Add python3-looseversion as new dependency for salt - Add python3-packaging as new dependency for salt - Drop conflictive patch dicarded from upstream - Fix SLS rendering error when Jinja macros are used - Fix version detection and avoid building and testing failures - Added: * fix-version-detection-and-avoid-building-and-testing.patch * make-sure-the-file-client-is-destroyed-upon-used.patch - Modified: * 3005.1-implement-zypper-removeptf-573.patch * activate-all-beacons-sources-config-pillar-grains.patch * 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-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.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-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fixes-for-python-3.10-502.patch * include-aliases-in-the-fqdns-grains.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.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-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * skip-package-names-without-colon-bsc-1208691-578.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 * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-entrypoint-compatibility-for-importlib-metadat.patch * clarify-pkg.installed-pkg_verify-documentation.patch * detect-module.run-syntax.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch- Require python3-jmespath runtime dependency (bsc#1209233) - Fix problem with detecting PTF packages (bsc#1208691) - Fixes pkg.version_cmp on openEuler systems and a few other OS flavors - Make pkg.remove function from zypperpkg module to handle also PTF packages - Added: * 3005.1-implement-zypper-removeptf-573.patch * skip-package-names-without-colon-bsc-1208691-578.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch- Update to Salt release version 3005.1 (jsc#PED-3042) - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3005.1.html - Allow entrypoint compatibility for "importlib-metadata>=5.0.0" (bsc#1207071) - Add missing patch after rebase to fix collections Mapping issues - Prevent deadlocks in salt-ssh executions - Create new salt-tests subpackage containing Salt tests - Added: * allow-entrypoint-compatibility-for-importlib-metadat.patch * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * 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-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * clarify-pkg.installed-pkg_verify-documentation.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * detect-module.run-syntax.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.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 * fixes-for-python-3.10-502.patch * fix-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-aliases-in-the-fqdns-grains.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * restore-default-behaviour-of-pkg-list-return.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.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 * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * add-missing-ansible-module-functions-to-whitelist-in.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * adds-explicit-type-cast-for-port.patch * backport-syndic-auth-fixes.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-crash-when-calling-manage.not_alive-runners.patch * fixes-56144-to-enable-hotadd-profile-support.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * fix-for-cve-2022-22967-bsc-1200566.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * fix-multiple-security-issues-bsc-1197417.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * force-zyppnotify-to-prefer-packages.db-than-packages.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 * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * refactor-and-improvements-for-transactional-updates-.patch * support-transactional-systems-microos.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch- Control the collection of lvm grains via config (bsc#1204939) - Added: * control-the-collection-of-lvm-grains-via-config.patch- 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: * detect-module.run-syntax.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * make-pass-renderer-configurable-other-fixes-532.patch * clarify-pkg.installed-pkg_verify-documentation.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * pass-the-context-to-pillar-ext-modules.patch * ignore-extend-declarations-from-excluded-sls-files.patch * include-stdout-in-error-message-for-zypperpkg-559.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: * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * fix-test_ipc-unit-tests.patch * backport-syndic-auth-fixes.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * fix-state.apply-in-test-mode-with-file-state-module-.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 * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * save-log-to-logfile-with-docker.build.patch * add-support-for-gpgautoimport-539.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * normalize-package-names-once-with-pkg.installed-remo.patch * use-salt-bundle-in-dockermod.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * set-default-target-for-pip-from-venv_pip_target-envi.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- Fixes for Python 3.10 - Added: * fixes-for-python-3.10-502.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) - Added: * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.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: * fix-multiple-security-issues-bsc-1197417.patch- Add salt-ssh with Salt Bundle support (venv-salt-minion) (bsc#1182851, bsc#1196432) - Fix issues found around pre_flight_script_args - Restrict "state.orchestrate_single" to pass a pillar value if it exists (bsc#1194632) - Fix salt-call event.send with pillar or grains - Update generated documentation to 3004 - Added: * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch- Expose missing "ansible" module functions in Salt 3004 (bsc#1195625) - Added: * add-missing-ansible-module-functions-to-whitelist-in.patch- Update to version 3004 (jsc#SLE-23675) * See release notes: https://docs.saltproject.io/en/master/topics/releases/3004.html - Don't check for cached pillar errors on state.apply (bsc#1190781) - Fix exception in batch_async caused by a bad function call - Fix inspector module export function (bsc#1097531) - Wipe NOTIFY_SOCKET from env in cmdmod (bsc#1193357) - Added: * state.apply-don-t-check-for-cached-pillar-errors.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch - Modified: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-custom-suse-capabilities-as-grains.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * switch-firewalld-state-to-use-change_interface.patch * debian-info_installed-compatibility-50453.patch * refactor-and-improvements-for-transactional-updates-.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * info_installed-works-without-status-attr-now.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * implementation-of-held-unheld-functions-for-state-pk.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * improvements-on-ansiblegate-module-354.patch * support-transactional-systems-microos.patch * x509-fixes-111.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * use-adler32-algorithm-to-compute-string-checksums.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * run-salt-master-as-dedicated-salt-user.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * include-aliases-in-the-fqdns-grains.patch - Removed: * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * templates-move-the-globals-up-to-the-environment-jin.patch * adding-preliminary-support-for-rocky.-59682-391.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * fix-save-for-iptables-state-module-bsc-1185131-372.patch * fix-a-test-and-some-variable-names-229.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * virt-enhancements.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch * figure-out-python-interpreter-to-use-inside-containe.patch * do-not-break-master_tops-for-minion-with-version-low.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch- 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. - Use dnfnotify instead yumnotify for relevant distros - dnfnotify pkgset plugin implementation - Add rpm_vercmp python library support for version comparison - Prevent pkg plugins errors on missing cookie path (bsc#1186738) - Make "tar" as required for "salt-transactional-update" package - Make "salt-api" package to require python3-cherrypy on RHEL systems - Fix ip6_interface grain to not leak secondary IPv4 aliases (bsc#1191412) - Added: * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * refactor-and-improvements-for-transactional-updates-.patch * fix-the-regression-for-yumnotify-plugin-456.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch- Fix issues with salt-ssh's extra-filerefs - Fix crash when calling manage.not_alive runners - Do not consider skipped targets as failed for ansible.playbooks state (bsc#1190446) - Added: * fix-crash-when-calling-manage.not_alive-runners.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch- Do not break master_tops for minion with version lower to 3003 - Support querying for JSON data in external sql pillar - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * 3003.3-postgresql-json-support-in-pillar-423.patch- Update to Salt release version 3003.3 (jsc#SLE-22204) * See release notes: https://docs.saltstack.com/en/latest/topics/releases/3003.3.html - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * support-transactional-systems-microos.patch * allow-vendor-change-option-with-zypper.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * virt-enhancements.patch - Modified: * return-the-expected-powerpc-os-arch-bsc-1117995.patch * include-aliases-in-the-fqdns-grains.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * improvements-on-ansiblegate-module-354.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * fixes-56144-to-enable-hotadd-profile-support.patch * use-adler32-algorithm-to-compute-string-checksums.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * implementation-of-held-unheld-functions-for-state-pk.patch * x509-fixes-111.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * add-migrated-state-and-gpg-key-management-functions-.patch * figure-out-python-interpreter-to-use-inside-containe.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * templates-move-the-globals-up-to-the-environment-jin.patch * debian-info_installed-compatibility-50453.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * fix-bsc-1065792.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * async-batch-implementation.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * adds-explicit-type-cast-for-port.patch * restore-default-behaviour-of-pkg-list-return.patch * add-custom-suse-capabilities-as-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * early-feature-support-config.patch - Removed: * virt-pass-emulator-when-getting-domain-capabilities-.patch * fix-virt.update-with-cpu-defined-263.patch * fix-unit-tests-for-batch-async-after-refactor.patch * opensuse-3000.3-spacewalk-runner-parse-command-250.patch * python3.8-compatibility-pr-s-235.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-failing-unit-tests-for-batch-async.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * accumulated-changes-from-yomi-167.patch * add-docker-logout-237.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * get-os_arch-also-without-rpm-package-installed.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-hold-unhold-functions.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * support-config-non-root-permission-issues-fixes-u-50.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * fix-unit-test-for-grains-core.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * open-suse-3002.2-xen-grub-316.patch * transactional_update-detect-recursion-in-the-executo.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * grains-master-can-read-grains.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * fix-batch_async-obsolete-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * backport-thread.is_alive-fix-390.patch * backport-virt-patches-from-3001-256.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * loop-fix-variable-names-for-until_no_eval.patch * add-saltssh-multi-version-support-across-python-inte.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch * zypperpkg-filter-patterns-that-start-with-dot-244.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * opensuse-3000-virt-defined-states-222.patch * changed-imports-to-vendored-tornado.patch * add-virt.all_capabilities.patch * fix-for-some-cves-bsc1181550.patch * fix-grains.test_core-unit-test-277.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * fall-back-to-pymysql.patch * virt-uefi-fix-backport-312.patch * reintroducing-reverted-changes.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * make-profiles-a-package.patch * handle-master-tops-data-when-states-are-applied-by-t.patch * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * sanitize-grains-loaded-from-roster_grains.json.patch * pkgrepo-support-python-2.7-function-call-295.patch * integration-of-msi-authentication-with-azurearm-clou.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch * opensuse-3000-libvirt-engine-fixes-251.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * transactional_update-unify-with-chroot.call.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * fix-novendorchange-option-284.patch * fix-async-batch-race-conditions.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * move-vendor-change-logic-to-zypper-class-355.patch * fixes-cve-2018-15750-cve-2018-15751.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * prevent-systemd-run-description-issue-when-running-a.patch * backport-a-few-virt-prs-272.patch * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * fix-__mount_device-wrapper-254.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * xfs-do-not-fails-if-type-is-not-present.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * remove-vendored-backports-abc-from-requirements.patch * remove-deprecated-warning-that-breaks-miniion-execut.patch * re-adding-function-to-test-for-root.patch * fix-async-batch-multiple-done-events.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * backport-of-upstream-pr59492-to-3002.2-404.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * accumulated-changes-required-for-yomi-165.patch * add-pkg.services_need_restart-302.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * add-all_versions-parameter-to-include-all-installed-.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * opensuse-3000.2-virt-backports-236-257.patch * drop-wrong-mock-from-chroot-unit-test.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-failing-unit-tests-for-systemd.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * fixing-streamclosed-issue.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * allow-vendor-change-option-with-zypper-313.patch * xen-disk-fixes-264.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * do-noop-for-services-states-when-running-systemd-in-.patch * open-suse-3002.2-bigvm-310.patch * fix-for-log-checking-in-x509-test.patch * open-suse-3002.2-virt-network-311.patch * async-batch-implementation-fix-320.patch * apply-patch-from-upstream-to-support-python-3.8.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * fix-ipv6-scope-bsc-1108557.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * support-transactional-systems-microos-271.patch- Exclude the full path of a download URL to prevent injection of malicious code (bsc#1190265) (CVE-2021-21996) - Added: * 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)/bin/sh/bin/sh/bin/shh03-ch2b 1764314340  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK*MNOPQRSTUVWXYZ[\]^_`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{|}~4.5.33006.0-150500.4.65.13006.0-150500.4.65.13006.0-150500.4.65.1    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """"""""""""""""""""""##$#%%&&&&&&&&&%%%%%%%%''(('))***))++,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++--......-----//0000000//11221////3344444444444444444444444444444444333333333333333333355666666666666555555555553333333337778888888888888888888888888888888888888877777777777777777777777777777777777733333/99:::99//;;<<<<<<<<;;;;;;;==>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=============================??@@@??AABBBACCDAAEEFFFFFEEEEGGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGIIJJJIIKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKMMNNNNNNNNMMMMMMMKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKOOPPOQQRRRRQQQSSTTSQOUUVVVVUUUOWWXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[[\\[]]^^^^^^^^^^^^^^^^^^^^^^^^^]]]]]]]]]]]]]]]]]]]]]]]]__```__aabbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddcccccccccccccccccccccccccccccccccccccccceeffffffffffffeeeeeeeeeeegghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggiijjjjjjjjjjjjjjjiiiiiiiiiiiiiikkllllllllllkkkkkkkkkmmnmooppomqqrrqssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuvuwwwwwwwuxxuyuzzzzzzzu{{{u||||||||}}~~~~~~~~~~~}}}}}}}}}}saltsalt-apisalt-callsalt-cloudsalt-cpsalt-keysalt-mastersalt-minionsalt-proxysalt-runsalt-sshsalt-supportsalt-syndicspmzyppnotifysalt-callsalt-call-3.6salt-supportsalt-support-3.6spmspm-3.6saltsalt-3006.0-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-saferequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_syspaths.cpython-36.pyccrypt.cpython-36.pycexceptions.cpython-36.pycfeatures.cpython-36.pycfileclient.cpython-36.pyckey.cpython-36.pycmaster.cpython-36.pycminion.cpython-36.pycpayload.cpython-36.pycrunner.cpython-36.pycscripts.cpython-36.pycstate.cpython-36.pycsyspaths.cpython-36.pyctemplate.cpython-36.pycversion.cpython-36.pyc_compat.py_logging__init__.py__pycache____init__.cpython-36.pychandlers.cpython-36.pycimpl.cpython-36.pycmixins.cpython-36.pychandlers.pyimpl.pymixins.py_syspaths.py_version.txtacl__init__.py__pycache____init__.cpython-36.pycauth__init__.py__pycache____init__.cpython-36.pycauto.cpython-36.pycdjango.cpython-36.pycfile.cpython-36.pyckeystone.cpython-36.pycldap.cpython-36.pycmysql.cpython-36.pycpam.cpython-36.pycpki.cpython-36.pycrest.cpython-36.pycsharedsecret.cpython-36.pycyubico.cpython-36.pycauto.pydjango.pyfile.pykeystone.pyldap.pymysql.pypam.pypki.pyrest.pysharedsecret.pyyubico.pybeacons__init__.py__pycache____init__.cpython-36.pycadb.cpython-36.pycaix_account.cpython-36.pycavahi_announce.cpython-36.pycbonjour_announce.cpython-36.pycbtmp.cpython-36.pyccert_info.cpython-36.pycdiskusage.cpython-36.pycglxinfo.cpython-36.pychaproxy.cpython-36.pycinotify.cpython-36.pycjournald.cpython-36.pycjunos_rre_keys.cpython-36.pycload.cpython-36.pyclog_beacon.cpython-36.pycmemusage.cpython-36.pycnapalm_beacon.cpython-36.pycnetwork_info.cpython-36.pycnetwork_settings.cpython-36.pycpkg.cpython-36.pycproxy_example.cpython-36.pycps.cpython-36.pycsalt_monitor.cpython-36.pycsalt_proxy.cpython-36.pycsensehat.cpython-36.pycservice.cpython-36.pycsh.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_vmadm.cpython-36.pycstatus.cpython-36.pycswapusage.cpython-36.pyctelegram_bot_msg.cpython-36.pyctwilio_txt_msg.cpython-36.pycwatchdog.cpython-36.pycwtmp.cpython-36.pycadb.pyaix_account.pyavahi_announce.pybonjour_announce.pybtmp.pycert_info.pydiskusage.pyglxinfo.pyhaproxy.pyinotify.pyjournald.pyjunos_rre_keys.pyload.pylog_beacon.pymemusage.pynapalm_beacon.pynetwork_info.pynetwork_settings.pypkg.pyproxy_example.pyps.pysalt_monitor.pysalt_proxy.pysensehat.pyservice.pysh.pysmartos_imgadm.pysmartos_vmadm.pystatus.pyswapusage.pytelegram_bot_msg.pytwilio_txt_msg.pywatchdog.pywtmp.pycache__init__.py__pycache____init__.cpython-36.pycconsul.cpython-36.pycetcd_cache.cpython-36.pyclocalfs.cpython-36.pycmysql_cache.cpython-36.pycredis_cache.cpython-36.pycconsul.pyetcd_cache.pylocalfs.pymysql_cache.pyredis_cache.pychannel__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycserver.cpython-36.pycclient.pyserver.pycli__init__.py__pycache____init__.cpython-36.pycapi.cpython-36.pycbatch.cpython-36.pycbatch_async.cpython-36.pyccall.cpython-36.pyccaller.cpython-36.pyccp.cpython-36.pycdaemons.cpython-36.pyckey.cpython-36.pycrun.cpython-36.pycsalt.cpython-36.pycspm.cpython-36.pycssh.cpython-36.pycapi.pybatch.pybatch_async.pycall.pycaller.pycp.pydaemons.pykey.pyrun.pysalt.pyspm.pyssh.pysupport__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycconsole.cpython-36.pycintfunc.cpython-36.pyclocalrunner.cpython-36.pyccollector.pyconsole.pyintfunc.pylocalrunner.pyprofiles__init__.py__pycache____init__.cpython-36.pycdefault.ymljobs-active.ymljobs-last.ymljobs-trace.ymlnetwork.ymlpostgres.ymlsalt.ymlusers.ymlclient__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycnetapi.cpython-36.pycmixins.pynetapi.pyssh__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycshell.cpython-36.pycssh_py_shim.cpython-36.pycstate.cpython-36.pycclient.pyshell.pyssh_py_shim.pystate.pywrapper__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pyccp.cpython-36.pycgrains.cpython-36.pycmine.cpython-36.pycpillar.cpython-36.pycpublish.cpython-36.pycsaltcheck.cpython-36.pycstate.cpython-36.pycconfig.pycp.pygrains.pymine.pypillar.pypublish.pysaltcheck.pystate.pycloud__init__.py__pycache____init__.cpython-36.pyccli.cpython-36.pycexceptions.cpython-36.pyclibcloudfuncs.cpython-36.pyccli.pyclouds__init__.py__pycache____init__.cpython-36.pycaliyun.cpython-36.pycazurearm.cpython-36.pycclc.cpython-36.pyccloudstack.cpython-36.pycdigitalocean.cpython-36.pycdimensiondata.cpython-36.pycec2.cpython-36.pycgce.cpython-36.pycgogrid.cpython-36.pychetzner.cpython-36.pycjoyent.cpython-36.pyclibvirt.cpython-36.pyclinode.cpython-36.pyclxc.cpython-36.pycmsazure.cpython-36.pyconeandone.cpython-36.pycopennebula.cpython-36.pycopenstack.cpython-36.pycpacket.cpython-36.pycparallels.cpython-36.pycprofitbricks.cpython-36.pycproxmox.cpython-36.pycpyrax.cpython-36.pycqingcloud.cpython-36.pycsaltify.cpython-36.pycscaleway.cpython-36.pycsoftlayer.cpython-36.pycsoftlayer_hw.cpython-36.pyctencentcloud.cpython-36.pycvagrant.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvultrpy.cpython-36.pycxen.cpython-36.pycaliyun.pyazurearm.pyclc.pycloudstack.pydigitalocean.pydimensiondata.pyec2.pygce.pygogrid.pyhetzner.pyjoyent.pylibvirt.pylinode.pylxc.pymsazure.pyoneandone.pyopennebula.pyopenstack.pypacket.pyparallels.pyprofitbricks.pyproxmox.pypyrax.pyqingcloud.pysaltify.pyscaleway.pysoftlayer.pysoftlayer_hw.pytencentcloud.pyvagrant.pyvirtualbox.pyvmware.pyvultrpy.pyxen.pydeployArch-git.shArch.shDebian-git.shDebian.shFedora-git.shFedora.shFreeBSD-git.shFreeBSD.shNone.shRHEL5-git.shRHEL5.shRHEL6-git.shRHEL6.shSmartOS.shUbuntu-git.shUbuntu.shbootstrap-salt.shcurl-bootstrap-git.shcurl-bootstrap.shpython-bootstrap.shwget-bootstrap-nocert.shwget-bootstrap.shexceptions.pylibcloudfuncs.pyconfig__init__.py__pycache____init__.cpython-36.pycschemas__init__.py__pycache____init__.cpython-36.pyccommon.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycminion.cpython-36.pycssh.cpython-36.pycvcenter.cpython-36.pyccommon.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyminion.pyssh.pyvcenter.pycrypt.pydaemons__init__.py__pycache____init__.cpython-36.pycmasterapi.cpython-36.pycmasterapi.pydefaults__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pycexitcodes.cpython-36.pycevents.pyexitcodes.pyengines__init__.py__pycache____init__.cpython-36.pycdocker_events.cpython-36.pycfluent.cpython-36.pychttp_logstash.cpython-36.pycircbot.cpython-36.pycjunos_syslog.cpython-36.pyclibvirt_events.cpython-36.pyclogentries.cpython-36.pyclogstash_engine.cpython-36.pycnapalm_syslog.cpython-36.pycreactor.cpython-36.pycredis_sentinel.cpython-36.pycscript.cpython-36.pycslack.cpython-36.pycslack_bolt_engine.cpython-36.pycsqs_events.cpython-36.pycstalekey.cpython-36.pyctest.cpython-36.pycthorium.cpython-36.pycwebhook.cpython-36.pycdocker_events.pyfluent.pyhttp_logstash.pyircbot.pyjunos_syslog.pylibvirt_events.pylogentries.pylogstash_engine.pynapalm_syslog.pyreactor.pyredis_sentinel.pyscript.pyslack.pyslack_bolt_engine.pysqs_events.pystalekey.pytest.pythorium.pywebhook.pyexceptions.pyexecutors__init__.py__pycache____init__.cpython-36.pycdirect_call.cpython-36.pycdocker.cpython-36.pycsplay.cpython-36.pycsudo.cpython-36.pyctransactional_update.cpython-36.pycdirect_call.pydocker.pysplay.pysudo.pytransactional_update.pyext__init__.py__pycache____init__.cpython-36.pycbackports_abc.cpython-36.pycipaddress.cpython-36.pycsaslprep.cpython-36.pycssl_match_hostname.cpython-36.pycwin_inet_pton.cpython-36.pyczipp.cpython-36.pycbackports_abc.pyimportlib_metadata__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_compat.pyipaddress.pysaslprep.pyssl_match_hostname.pytornado__init__.py__pycache____init__.cpython-36.pyc_locale_data.cpython-36.pycauth.cpython-36.pycautoreload.cpython-36.pycconcurrent.cpython-36.pyccurl_httpclient.cpython-36.pycescape.cpython-36.pycgen.cpython-36.pychttp1connection.cpython-36.pychttpclient.cpython-36.pychttpserver.cpython-36.pychttputil.cpython-36.pycioloop.cpython-36.pyciostream.cpython-36.pyclocale.cpython-36.pyclocks.cpython-36.pyclog.cpython-36.pycnetutil.cpython-36.pycoptions.cpython-36.pycprocess.cpython-36.pycqueues.cpython-36.pycrouting.cpython-36.pycsimple_httpclient.cpython-36.pycstack_context.cpython-36.pyctcpclient.cpython-36.pyctcpserver.cpython-36.pyctemplate.cpython-36.pyctesting.cpython-36.pycutil.cpython-36.pycweb.cpython-36.pycwebsocket.cpython-36.pycwsgi.cpython-36.pyc_locale_data.pyauth.pyautoreload.pyconcurrent.pycurl_httpclient.pyescape.pygen.pyhttp1connection.pyhttpclient.pyhttpserver.pyhttputil.pyioloop.pyiostream.pylocale.pylocks.pylog.pynetutil.pyoptions.pyplatform__init__.py__pycache____init__.cpython-36.pycasyncio.cpython-36.pycauto.cpython-36.pyccaresresolver.cpython-36.pyccommon.cpython-36.pycepoll.cpython-36.pycinterface.cpython-36.pyckqueue.cpython-36.pycposix.cpython-36.pycselect.cpython-36.pyctwisted.cpython-36.pycwindows.cpython-36.pycasyncio.pyauto.pycaresresolver.pycommon.pyepoll.pyinterface.pykqueue.pyposix.pyselect.pytwisted.pywindows.pyprocess.pyqueues.pyrouting.pysimple_httpclient.pystack_context.pytcpclient.pytcpserver.pytemplate.pytest__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycasyncio_test.cpython-36.pycauth_test.cpython-36.pycconcurrent_test.cpython-36.pyccurl_httpclient_test.cpython-36.pycescape_test.cpython-36.pycgen_test.cpython-36.pychttp1connection_test.cpython-36.pychttpclient_test.cpython-36.pychttpserver_test.cpython-36.pychttputil_test.cpython-36.pycimport_test.cpython-36.pycioloop_test.cpython-36.pyciostream_test.cpython-36.pyclocale_test.cpython-36.pyclocks_test.cpython-36.pyclog_test.cpython-36.pycnetutil_test.cpython-36.pycoptions_test.cpython-36.pycprocess_test.cpython-36.pycqueues_test.cpython-36.pycresolve_test_helper.cpython-36.pycrouting_test.cpython-36.pycruntests.cpython-36.pycsimple_httpclient_test.cpython-36.pycstack_context_test.cpython-36.pyctcpclient_test.cpython-36.pyctcpserver_test.cpython-36.pyctemplate_test.cpython-36.pyctesting_test.cpython-36.pyctwisted_test.cpython-36.pycutil.cpython-36.pycutil_test.cpython-36.pycweb_test.cpython-36.pycwebsocket_test.cpython-36.pycwindows_test.cpython-36.pycwsgi_test.cpython-36.pycasyncio_test.pyauth_test.pyconcurrent_test.pycurl_httpclient_test.pyescape_test.pygen_test.pyhttp1connection_test.pyhttpclient_test.pyhttpserver_test.pyhttputil_test.pyimport_test.pyioloop_test.pyiostream_test.pylocale_test.pylocks_test.pylog_test.pynetutil_test.pyoptions_test.pyprocess_test.pyqueues_test.pyresolve_test_helper.pyrouting_test.pyruntests.pysimple_httpclient_test.pystack_context_test.pytcpclient_test.pytcpserver_test.pytemplate_test.pytesting_test.pytwisted_test.pyutil.pyutil_test.pyweb_test.pywebsocket_test.pywindows_test.pywsgi_test.pytesting.pyutil.pyweb.pywebsocket.pywsgi.pyvsan__init__.py__pycache____init__.cpython-36.pycvsanapiutils.cpython-36.pycvsanmgmtObjects.cpython-36.pycvsanapiutils.pyvsanmgmtObjects.pywin_inet_pton.pyzipp.pyfeatures.pyfileclient.pyfileserver__init__.py__pycache____init__.cpython-36.pycazurefs.cpython-36.pycgitfs.cpython-36.pychgfs.cpython-36.pycminionfs.cpython-36.pycroots.cpython-36.pycs3fs.cpython-36.pycsvnfs.cpython-36.pycazurefs.pygitfs.pyhgfs.pyminionfs.pyroots.pys3fs.pysvnfs.pygrains__init__.py__pycache____init__.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccore.cpython-36.pycdisks.cpython-36.pycesxi.cpython-36.pycextra.cpython-36.pycfibre_channel.cpython-36.pycfx2.cpython-36.pyciscsi.cpython-36.pycjunos.cpython-36.pyclvm.cpython-36.pycmarathon.cpython-36.pycmdadm.cpython-36.pycmdata.cpython-36.pycmetadata.cpython-36.pycmetadata_azure.cpython-36.pycmetadata_gce.cpython-36.pycminion_process.cpython-36.pycnapalm.cpython-36.pycnvme.cpython-36.pycnxos.cpython-36.pycopts.cpython-36.pycpanos.cpython-36.pycpending_reboot.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycsmartos.cpython-36.pycssh_sample.cpython-36.pyczfs.cpython-36.pycchronos.pycimc.pycore.pydisks.pyesxi.pyextra.pyfibre_channel.pyfx2.pyiscsi.pyjunos.pylvm.pymarathon.pymdadm.pymdata.pymetadata.pymetadata_azure.pymetadata_gce.pyminion_process.pynapalm.pynvme.pynxos.pyopts.pypanos.pypending_reboot.pyphilips_hue.pyrest_sample.pysmartos.pyssh_sample.pyzfs.pykey.pyloader__init__.py__pycache____init__.cpython-36.pyccontext.cpython-36.pyclazy.cpython-36.pyccontext.pylazy.pylog__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycsetup.cpython-36.pychandlers__init__.py__pycache____init__.cpython-36.pycmixins.pysetup.pylog_handlers__init__.py__pycache____init__.cpython-36.pycfluent_mod.cpython-36.pyclog4mongo_mod.cpython-36.pyclogstash_mod.cpython-36.pycsentry_mod.cpython-36.pycfluent_mod.pylog4mongo_mod.pylogstash_mod.pysentry_mod.pymaster.pymatchers__init__.py__pycache____init__.cpython-36.pyccache_match.cpython-36.pyccompound_match.cpython-36.pyccompound_pillar_exact_match.cpython-36.pycconfirm_top.cpython-36.pycdata_match.cpython-36.pycglob_match.cpython-36.pycgrain_match.cpython-36.pycgrain_pcre_match.cpython-36.pycipcidr_match.cpython-36.pyclist_match.cpython-36.pycnodegroup_match.cpython-36.pycpcre_match.cpython-36.pycpillar_exact_match.cpython-36.pycpillar_match.cpython-36.pycpillar_pcre_match.cpython-36.pycrange_match.cpython-36.pyccache_match.pycompound_match.pycompound_pillar_exact_match.pyconfirm_top.pydata_match.pyglob_match.pygrain_match.pygrain_pcre_match.pyipcidr_match.pylist_match.pynodegroup_match.pypcre_match.pypillar_exact_match.pypillar_match.pypillar_pcre_match.pyrange_match.pymetaproxy__init__.py__pycache____init__.cpython-36.pycdeltaproxy.cpython-36.pycproxy.cpython-36.pycdeltaproxy.pyproxy.pyminion.pymodules__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycaix_group.cpython-36.pycaix_shadow.cpython-36.pycaixpkg.cpython-36.pycaliases.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapcups.cpython-36.pycapf.cpython-36.pycapkpkg.cpython-36.pycaptly.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycarista_pyeapi.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycat_solaris.cpython-36.pycaugeas_cfg.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbamboohr.cpython-36.pycbaredoc.cpython-36.pycbcache.cpython-36.pycbeacons.cpython-36.pycbigip.cpython-36.pycbluez_bluetooth.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_efs.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_ssm.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbridge.cpython-36.pycbsd_shadow.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pyccapirca_acl.cpython-36.pyccassandra_cql.cpython-36.pyccassandra_mod.cpython-36.pyccelery.cpython-36.pycceph.cpython-36.pycchassis.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos.cpython-36.pycchroot.cpython-36.pyccimc.cpython-36.pycciscoconfparse_mod.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmdmod.cpython-36.pyccomposer.cpython-36.pycconfig.cpython-36.pycconsul.cpython-36.pyccontainer_resource.cpython-36.pyccp.cpython-36.pyccpan.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycdaemontools.cpython-36.pycdata.cpython-36.pycdatadog_api.cpython-36.pycddns.cpython-36.pycdeb_apache.cpython-36.pycdeb_postgres.cpython-36.pycdebconfmod.cpython-36.pycdebian_ip.cpython-36.pycdebian_service.cpython-36.pycdebuild_pkgbuild.cpython-36.pycdefaults.cpython-36.pycdevinfo.cpython-36.pycdevmap.cpython-36.pycdig.cpython-36.pycdisk.cpython-36.pycdjangomod.cpython-36.pycdnsmasq.cpython-36.pycdnsutil.cpython-36.pycdockercompose.cpython-36.pycdockermod.cpython-36.pycdpkg_lowpkg.cpython-36.pycdrac.cpython-36.pycdracr.cpython-36.pycdrbd.cpython-36.pycdummyproxy_pkg.cpython-36.pycdummyproxy_service.cpython-36.pycebuildpkg.cpython-36.pyceix.cpython-36.pycelasticsearch.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycextfs.cpython-36.pycfile.cpython-36.pycfirewalld.cpython-36.pycfreebsd_sysctl.cpython-36.pycfreebsd_update.cpython-36.pycfreebsdjail.cpython-36.pycfreebsdkmod.cpython-36.pycfreebsdpkg.cpython-36.pycfreebsdports.cpython-36.pycfreebsdservice.cpython-36.pycfreezer.cpython-36.pycgcp_addon.cpython-36.pycgem.cpython-36.pycgenesis.cpython-36.pycgentoo_service.cpython-36.pycgentoolkitmod.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglanceng.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgoogle_chat.cpython-36.pycgpg.cpython-36.pycgrafana4.cpython-36.pycgrains.cpython-36.pycgroupadd.cpython-36.pycgrub_legacy.cpython-36.pycguestfs.cpython-36.pychadoop.cpython-36.pychaproxyconn.cpython-36.pychashutil.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychosts.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycilo.cpython-36.pycincron.cpython-36.pycinfluxdb08mod.cpython-36.pycinfluxdbmod.cpython-36.pycinfoblox.cpython-36.pycini_manage.cpython-36.pycinspector.cpython-36.pycintrospect.cpython-36.pyciosconfig.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pyciwtools.cpython-36.pycjboss7.cpython-36.pycjboss7_cli.cpython-36.pycjenkinsmod.cpython-36.pycjinja.cpython-36.pycjira_mod.cpython-36.pycjunos.cpython-36.pyck8s.cpython-36.pyckapacitor.cpython-36.pyckerberos.cpython-36.pyckernelpkg_linux_apt.cpython-36.pyckernelpkg_linux_yum.cpython-36.pyckey.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystoneng.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubeadm.cpython-36.pyckubernetesmod.cpython-36.pyclaunchctl_service.cpython-36.pyclayman.cpython-36.pycldap3.cpython-36.pycldapmod.cpython-36.pyclibcloud_compute.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclinux_ip.cpython-36.pyclinux_lvm.cpython-36.pyclinux_service.cpython-36.pyclinux_shadow.cpython-36.pyclinux_sysctl.cpython-36.pyclocalemod.cpython-36.pyclocate.cpython-36.pyclogadm.cpython-36.pyclogmod.cpython-36.pyclogrotate.cpython-36.pyclvs.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pycmac_assistive.cpython-36.pycmac_brew_pkg.cpython-36.pycmac_desktop.cpython-36.pycmac_group.cpython-36.pycmac_keychain.cpython-36.pycmac_pkgutil.cpython-36.pycmac_portspkg.cpython-36.pycmac_power.cpython-36.pycmac_service.cpython-36.pycmac_shadow.cpython-36.pycmac_softwareupdate.cpython-36.pycmac_sysctl.cpython-36.pycmac_system.cpython-36.pycmac_timezone.cpython-36.pycmac_user.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmandrill.cpython-36.pycmarathon.cpython-36.pycmatch.cpython-36.pycmattermost.cpython-36.pycmdadm_raid.cpython-36.pycmdata.cpython-36.pycmemcached.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycmod_random.cpython-36.pycmodjk.cpython-36.pycmongodb.cpython-36.pycmonit.cpython-36.pycmoosefs.cpython-36.pycmount.cpython-36.pycmssql.cpython-36.pycmsteams.cpython-36.pycmunin.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnagios.cpython-36.pycnagios_rpc.cpython-36.pycnamecheap_domains.cpython-36.pycnamecheap_domains_dns.cpython-36.pycnamecheap_domains_ns.cpython-36.pycnamecheap_ssl.cpython-36.pycnamecheap_users.cpython-36.pycnapalm_bgp.cpython-36.pycnapalm_formula.cpython-36.pycnapalm_mod.cpython-36.pycnapalm_netacl.cpython-36.pycnapalm_network.cpython-36.pycnapalm_ntp.cpython-36.pycnapalm_probes.cpython-36.pycnapalm_route.cpython-36.pycnapalm_snmp.cpython-36.pycnapalm_users.cpython-36.pycnapalm_yang_mod.cpython-36.pycnetaddress.cpython-36.pycnetbox.cpython-36.pycnetbsd_sysctl.cpython-36.pycnetbsdservice.cpython-36.pycnetmiko_mod.cpython-36.pycnetscaler.cpython-36.pycnetwork.cpython-36.pycneutron.cpython-36.pycneutronng.cpython-36.pycnexus.cpython-36.pycnfs3.cpython-36.pycnftables.cpython-36.pycnginx.cpython-36.pycnilrt_ip.cpython-36.pycnix.cpython-36.pycnova.cpython-36.pycnpm.cpython-36.pycnspawn.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycnxos_upgrade.cpython-36.pycomapi.cpython-36.pycopenbsd_sysctl.cpython-36.pycopenbsdpkg.cpython-36.pycopenbsdrcctl_service.cpython-36.pycopenbsdservice.cpython-36.pycopenscap.cpython-36.pycopenstack_config.cpython-36.pycopenstack_mng.cpython-36.pycopenvswitch.cpython-36.pycopkg.cpython-36.pycopsgenie.cpython-36.pycoracle.cpython-36.pycosquery.cpython-36.pycout.cpython-36.pycpacmanpkg.cpython-36.pycpagerduty.cpython-36.pycpagerduty_util.cpython-36.pycpam.cpython-36.pycpanos.cpython-36.pycparallels.cpython-36.pycparted_partition.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpeeringdb.cpython-36.pycpf.cpython-36.pycphilips_hue.cpython-36.pycpillar.cpython-36.pycpip.cpython-36.pycpkg_resource.cpython-36.pycpkgin.cpython-36.pycpkgng.cpython-36.pycpkgutil.cpython-36.pycportage_config.cpython-36.pycpostfix.cpython-36.pycpostgres.cpython-36.pycpoudriere.cpython-36.pycpowerpath.cpython-36.pycproxy.cpython-36.pycps.cpython-36.pycpublish.cpython-36.pycpuppet.cpython-36.pycpurefa.cpython-36.pycpurefb.cpython-36.pycpushbullet.cpython-36.pycpushover_notify.cpython-36.pycpw_group.cpython-36.pycpw_user.cpython-36.pycpyenv.cpython-36.pycqemu_img.cpython-36.pycqemu_nbd.cpython-36.pycquota.cpython-36.pycrabbitmq.cpython-36.pycrallydev.cpython-36.pycrandom_org.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycrebootmgr.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrest_pkg.cpython-36.pycrest_sample_utils.cpython-36.pycrest_service.cpython-36.pycrestartcheck.cpython-36.pycrestconf.cpython-36.pycret.cpython-36.pycrh_ip.cpython-36.pycrh_service.cpython-36.pycriak.cpython-36.pycrpm_lowpkg.cpython-36.pycrpmbuild_pkgbuild.cpython-36.pycrsync.cpython-36.pycrunit.cpython-36.pycrvm.cpython-36.pycs3.cpython-36.pycs6.cpython-36.pycsalt_proxy.cpython-36.pycsalt_version.cpython-36.pycsaltcheck.cpython-36.pycsaltcloudmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycscp_mod.cpython-36.pycscsi.cpython-36.pycsdb.cpython-36.pycseed.cpython-36.pycselinux.cpython-36.pycsensehat.cpython-36.pycsensors.cpython-36.pycserverdensity_device.cpython-36.pycservicenow.cpython-36.pycslack_notify.cpython-36.pycslackware_service.cpython-36.pycslsutil.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_nictagadm.cpython-36.pycsmartos_virt.cpython-36.pycsmartos_vmadm.cpython-36.pycsmbios.cpython-36.pycsmf_service.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolaris_fmadm.cpython-36.pycsolaris_group.cpython-36.pycsolaris_shadow.cpython-36.pycsolaris_system.cpython-36.pycsolaris_user.cpython-36.pycsolarisipspkg.cpython-36.pycsolarispkg.cpython-36.pycsolr.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh.cpython-36.pycssh_pkg.cpython-36.pycssh_service.cpython-36.pycstate.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsuse_apache.cpython-36.pycsuse_ip.cpython-36.pycsvn.cpython-36.pycswarm.cpython-36.pycswift.cpython-36.pycsysbench.cpython-36.pycsysfs.cpython-36.pycsyslog_ng.cpython-36.pycsysmod.cpython-36.pycsysrc.cpython-36.pycsystem.cpython-36.pycsystem_profiler.cpython-36.pycsystemd_service.cpython-36.pyctelegram.cpython-36.pyctelemetry.cpython-36.pyctemp.cpython-36.pyctest.cpython-36.pyctest_virtual.cpython-36.pyctestinframod.cpython-36.pyctextfsm_mod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctransactional_update.cpython-36.pyctravisci.cpython-36.pyctuned.cpython-36.pyctwilio_notify.cpython-36.pycudev.cpython-36.pycupstart_service.cpython-36.pycuptime.cpython-36.pycuseradd.cpython-36.pycuwsgi.cpython-36.pycvagrant.cpython-36.pycvarnish.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvboxmanage.cpython-36.pycvcenter.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycvmctl.cpython-36.pycvsphere.cpython-36.pycwebutil.cpython-36.pycwin_auditpol.cpython-36.pycwin_autoruns.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_disk.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_dsc.cpython-36.pycwin_event.cpython-36.pycwin_file.cpython-36.pycwin_firewall.cpython-36.pycwin_groupadd.cpython-36.pycwin_iis.cpython-36.pycwin_ip.cpython-36.pycwin_lgpo.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_ntp.cpython-36.pycwin_path.cpython-36.pycwin_pkg.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_psget.cpython-36.pycwin_servermanager.cpython-36.pycwin_service.cpython-36.pycwin_shadow.cpython-36.pycwin_shortcut.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_status.cpython-36.pycwin_system.cpython-36.pycwin_task.cpython-36.pycwin_timezone.cpython-36.pycwin_useradd.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycx509_v2.cpython-36.pycxapi_virt.cpython-36.pycxbpspkg.cpython-36.pycxfs.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pycyaml.cpython-36.pycyumpkg.cpython-36.pyczabbix.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pycznc.cpython-36.pyczoneadm.cpython-36.pyczonecfg.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pyczypperpkg.cpython-36.pycacme.pyaix_group.pyaix_shadow.pyaixpkg.pyaliases.pyalternatives.pyansiblegate.pyapache.pyapcups.pyapf.pyapkpkg.pyaptly.pyaptpkg.pyarchive.pyarista_pyeapi.pyartifactory.pyat.pyat_solaris.pyaugeas_cfg.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybamboohr.pybaredoc.pybcache.pybeacons.pybigip.pybluez_bluetooth.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_efs.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_ssm.pyboto_vpc.pybower.pybridge.pybsd_shadow.pybtrfs.pycabal.pycapirca_acl.pycassandra_cql.pycassandra_mod.pycelery.pyceph.pychassis.pychef.pychocolatey.pychronos.pychroot.pycimc.pyciscoconfparse_mod.pycisconso.pycloud.pycmdmod.pycomposer.pyconfig.pyconsul.pycontainer_resource.pycp.pycpan.pycron.pycryptdev.pycsf.pycyg.pydaemontools.pydata.pydatadog_api.pyddns.pydeb_apache.pydeb_postgres.pydebconfmod.pydebian_ip.pydebian_service.pydebuild_pkgbuild.pydefaults.pydevinfo.pydevmap.pydig.pydisk.pydjangomod.pydnsmasq.pydnsutil.pydockercompose.pydockermod.pydpkg_lowpkg.pydrac.pydracr.pydrbd.pydummyproxy_pkg.pydummyproxy_service.pyebuildpkg.pyeix.pyelasticsearch.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyextfs.pyfile.pyfirewalld.pyfreebsd_sysctl.pyfreebsd_update.pyfreebsdjail.pyfreebsdkmod.pyfreebsdpkg.pyfreebsdports.pyfreebsdservice.pyfreezer.pygcp_addon.pygem.pygenesis.pygentoo_service.pygentoolkitmod.pygit.pygithub.pyglanceng.pyglassfish.pyglusterfs.pygnomedesktop.pygoogle_chat.pygpg.pygrafana4.pygrains.pygroupadd.pygrub_legacy.pyguestfs.pyhadoop.pyhaproxyconn.pyhashutil.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhosts.pyhttp.pyicinga2.pyidem.pyifttt.pyilo.pyincron.pyinfluxdb08mod.pyinfluxdbmod.pyinfoblox.pyini_manage.pyinspectlib__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycdbhandle.cpython-36.pycentities.cpython-36.pycexceptions.cpython-36.pycfsdb.cpython-36.pyckiwiproc.cpython-36.pycquery.cpython-36.pyccollector.pydbhandle.pyentities.pyexceptions.pyfsdb.pykiwiproc.pyquery.pyinspector.pyintrospect.pyiosconfig.pyipmi.pyipset.pyiptables.pyiwtools.pyjboss7.pyjboss7_cli.pyjenkinsmod.pyjinja.pyjira_mod.pyjunos.pyk8s.pykapacitor.pykerberos.pykernelpkg_linux_apt.pykernelpkg_linux_yum.pykey.pykeyboard.pykeystone.pykeystoneng.pykeystore.pykmod.pykubeadm.pykubernetesmod.pylaunchctl_service.pylayman.pyldap3.pyldapmod.pylibcloud_compute.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylinux_ip.pylinux_lvm.pylinux_service.pylinux_shadow.pylinux_sysctl.pylocalemod.pylocate.pylogadm.pylogmod.pylogrotate.pylvs.pylxc.pylxd.pymac_assistive.pymac_brew_pkg.pymac_desktop.pymac_group.pymac_keychain.pymac_pkgutil.pymac_portspkg.pymac_power.pymac_service.pymac_shadow.pymac_softwareupdate.pymac_sysctl.pymac_system.pymac_timezone.pymac_user.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymandrill.pymarathon.pymatch.pymattermost.pymdadm_raid.pymdata.pymemcached.pymine.pyminion.pymod_random.pymodjk.pymongodb.pymonit.pymoosefs.pymount.pymssql.pymsteams.pymunin.pymysql.pynacl.pynagios.pynagios_rpc.pynamecheap_domains.pynamecheap_domains_dns.pynamecheap_domains_ns.pynamecheap_ssl.pynamecheap_users.pynapalm_bgp.pynapalm_formula.pynapalm_mod.pynapalm_netacl.pynapalm_network.pynapalm_ntp.pynapalm_probes.pynapalm_route.pynapalm_snmp.pynapalm_users.pynapalm_yang_mod.pynetaddress.pynetbox.pynetbsd_sysctl.pynetbsdservice.pynetmiko_mod.pynetscaler.pynetwork.pyneutron.pyneutronng.pynexus.pynfs3.pynftables.pynginx.pynilrt_ip.pynix.pynova.pynpm.pynspawn.pynxos.pynxos_api.pynxos_upgrade.pyomapi.pyopenbsd_sysctl.pyopenbsdpkg.pyopenbsdrcctl_service.pyopenbsdservice.pyopenscap.pyopenstack_config.pyopenstack_mng.pyopenvswitch.pyopkg.pyopsgenie.pyoracle.pyosquery.pyout.pypacmanpkg.pypagerduty.pypagerduty_util.pypam.pypanos.pyparallels.pyparted_partition.pypcs.pypdbedit.pypecl.pypeeringdb.pypf.pyphilips_hue.pypillar.pypip.pypkg_resource.pypkgin.pypkgng.pypkgutil.pyportage_config.pypostfix.pypostgres.pypoudriere.pypowerpath.pyproxy.pyps.pypublish.pypuppet.pypurefa.pypurefb.pypushbullet.pypushover_notify.pypw_group.pypw_user.pypyenv.pyqemu_img.pyqemu_nbd.pyquota.pyrabbitmq.pyrallydev.pyrandom_org.pyrbac_solaris.pyrbenv.pyrdp.pyrebootmgr.pyredismod.pyreg.pyrest_pkg.pyrest_sample_utils.pyrest_service.pyrestartcheck.pyrestconf.pyret.pyrh_ip.pyrh_service.pyriak.pyrpm_lowpkg.pyrpmbuild_pkgbuild.pyrsync.pyrunit.pyrvm.pys3.pys6.pysalt_proxy.pysalt_version.pysaltcheck.pysaltcloudmod.pysaltsupport.pysaltutil.pyschedule.pyscp_mod.pyscsi.pysdb.pyseed.pyselinux.pysensehat.pysensors.pyserverdensity_device.pyservicenow.pyslack_notify.pyslackware_service.pyslsutil.pysmartos_imgadm.pysmartos_nictagadm.pysmartos_virt.pysmartos_vmadm.pysmbios.pysmf_service.pysmtp.pysnapper.pysolaris_fmadm.pysolaris_group.pysolaris_shadow.pysolaris_system.pysolaris_user.pysolarisipspkg.pysolarispkg.pysolr.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh.pyssh_pkg.pyssh_service.pystate.pystatus.pystatuspage.pysupervisord.pysuse_apache.pysuse_ip.pysvn.pyswarm.pyswift.pysysbench.pysysfs.pysyslog_ng.pysysmod.pysysrc.pysystem.pysystem_profiler.pysystemd_service.pytelegram.pytelemetry.pytemp.pytest.pytest_virtual.pytestinframod.pytextfsm_mod.pytimezone.pytls.pytomcat.pytrafficserver.pytransactional_update.pytravisci.pytuned.pytwilio_notify.pyudev.pyupstart_service.pyuptime.pyuseradd.pyuwsgi.pyvagrant.pyvarnish.pyvault.pyvbox_guest.pyvboxmanage.pyvcenter.pyvictorops.pyvirt.pyvirtualenv_mod.pyvmctl.pyvsphere.pywebutil.pywin_auditpol.pywin_autoruns.pywin_certutil.pywin_dacl.pywin_disk.pywin_dism.pywin_dns_client.pywin_dsc.pywin_event.pywin_file.pywin_firewall.pywin_groupadd.pywin_iis.pywin_ip.pywin_lgpo.pywin_lgpo_reg.pywin_license.pywin_network.pywin_ntp.pywin_path.pywin_pkg.pywin_pki.pywin_powercfg.pywin_psget.pywin_servermanager.pywin_service.pywin_shadow.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_status.pywin_system.pywin_task.pywin_timezone.pywin_useradd.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.pyxapi_virt.pyxbpspkg.pyxfs.pyxml.pyxmpp.pyyaml.pyyumpkg.pyzabbix.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyznc.pyzoneadm.pyzonecfg.pyzookeeper.pyzpool.pyzypperpkg.pynetapi__init__.py__pycache____init__.cpython-36.pycrest_wsgi.cpython-36.pycrest_cherrypy__init__.py__pycache____init__.cpython-36.pycapp.cpython-36.pycevent_processor.cpython-36.pycwsgi.cpython-36.pycapp.pyevent_processor.pytools__init__.py__pycache____init__.cpython-36.pycwebsockets.cpython-36.pycwebsockets.pywsgi.pyrest_tornado__init__.py__pycache____init__.cpython-36.pycevent_processor.cpython-36.pycsaltnado.cpython-36.pycsaltnado_websockets.cpython-36.pycevent_processor.pysaltnado.pysaltnado_websockets.pyrest_wsgi.pyoutput__init__.py__pycache____init__.cpython-36.pycdson.cpython-36.pychighstate.cpython-36.pycjson_out.cpython-36.pyckey.cpython-36.pycnested.cpython-36.pycnewline_values_only.cpython-36.pycno_out_quiet.cpython-36.pycno_return.cpython-36.pycoverstatestage.cpython-36.pycpony.cpython-36.pycpprint_out.cpython-36.pycprofile.cpython-36.pycprogress.cpython-36.pycraw.cpython-36.pyctable_out.cpython-36.pyctxt.cpython-36.pycvirt_query.cpython-36.pycyaml_out.cpython-36.pycdson.pyhighstate.pyjson_out.pykey.pynested.pynewline_values_only.pyno_out_quiet.pyno_return.pyoverstatestage.pypony.pypprint_out.pyprofile.pyprogress.pyraw.pytable_out.pytxt.pyvirt_query.pyyaml_out.pypayload.pypillar__init__.py__pycache____init__.cpython-36.pycazureblob.cpython-36.pyccmd_json.cpython-36.pyccmd_yaml.cpython-36.pyccmd_yamlex.cpython-36.pyccobbler.cpython-36.pycconfidant.cpython-36.pycconsul_pillar.cpython-36.pyccsvpillar.cpython-36.pycdigicert.cpython-36.pycdjango_orm.cpython-36.pycec2_pillar.cpython-36.pycetcd_pillar.cpython-36.pycextra_minion_data_in_pillar.cpython-36.pycfile_tree.cpython-36.pycforeman.cpython-36.pycgit_pillar.cpython-36.pycgpg.cpython-36.pychg_pillar.cpython-36.pychiera.cpython-36.pychttp_json.cpython-36.pychttp_yaml.cpython-36.pyclibvirt.cpython-36.pycmakostack.cpython-36.pycmongo.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnetbox.cpython-36.pycneutron.cpython-36.pycnodegroups.cpython-36.pycpepa.cpython-36.pycpillar_ldap.cpython-36.pycpostgres.cpython-36.pycpuppet.cpython-36.pycreclass_adapter.cpython-36.pycredismod.cpython-36.pycrethinkdb_pillar.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsql_base.cpython-36.pycsqlcipher.cpython-36.pycsqlite3.cpython-36.pycstack.cpython-36.pycsvn_pillar.cpython-36.pycvarstack_pillar.cpython-36.pycvault.cpython-36.pycvenafi.cpython-36.pycvirtkey.cpython-36.pycvmware_pillar.cpython-36.pycazureblob.pycmd_json.pycmd_yaml.pycmd_yamlex.pycobbler.pyconfidant.pyconsul_pillar.pycsvpillar.pydigicert.pydjango_orm.pyec2_pillar.pyetcd_pillar.pyextra_minion_data_in_pillar.pyfile_tree.pyforeman.pygit_pillar.pygpg.pyhg_pillar.pyhiera.pyhttp_json.pyhttp_yaml.pylibvirt.pymakostack.pymongo.pymysql.pynacl.pynetbox.pyneutron.pynodegroups.pypepa.pypillar_ldap.pypostgres.pypuppet.pyreclass_adapter.pyredismod.pyrethinkdb_pillar.pys3.pysaltclass.pysql_base.pysqlcipher.pysqlite3.pystack.pysvn_pillar.pyvarstack_pillar.pyvault.pyvenafi.pyvirtkey.pyvmware_pillar.pyplatform__init__.py__pycache____init__.cpython-36.pycwin.cpython-36.pycwin.pyproxy__init__.py__pycache____init__.cpython-36.pycarista_pyeapi.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pycdeltaproxy.cpython-36.pycdocker.cpython-36.pycdummy.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycfx2.cpython-36.pycjunos.cpython-36.pycmarathon.cpython-36.pycnapalm.cpython-36.pycnetmiko_px.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycpanos.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycrestconf.cpython-36.pycssh_sample.cpython-36.pycvcenter.cpython-36.pycarista_pyeapi.pychronos.pycimc.pycisconso.pydeltaproxy.pydocker.pydummy.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyfx2.pyjunos.pymarathon.pynapalm.pynetmiko_px.pynxos.pynxos_api.pypanos.pyphilips_hue.pyrest_sample.pyrestconf.pyssh_sample.pyvcenter.pyqueues__init__.py__pycache____init__.cpython-36.pycpgjsonb_queue.cpython-36.pycsqlite_queue.cpython-36.pycpgjsonb_queue.pysqlite_queue.pyrenderers__init__.py__pycache____init__.cpython-36.pycaws_kms.cpython-36.pyccheetah.cpython-36.pycdson.cpython-36.pycgenshi.cpython-36.pycgpg.cpython-36.pychjson.cpython-36.pycjinja.cpython-36.pycjson.cpython-36.pycjson5.cpython-36.pycmako.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycpass.cpython-36.pycpy.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycstateconf.cpython-36.pyctomlmod.cpython-36.pycwempy.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycaws_kms.pycheetah.pydson.pygenshi.pygpg.pyhjson.pyjinja.pyjson.pyjson5.pymako.pymsgpack.pynacl.pypass.pypy.pypydsl.pypyobjects.pystateconf.pytomlmod.pywempy.pyyaml.pyyamlex.pyreturners__init__.py__pycache____init__.cpython-36.pycappoptics_return.cpython-36.pyccarbon_return.cpython-36.pyccassandra_cql_return.cpython-36.pyccassandra_return.cpython-36.pyccouchbase_return.cpython-36.pyccouchdb_return.cpython-36.pycdjango_return.cpython-36.pycelasticsearch_return.cpython-36.pycetcd_return.cpython-36.pychighstate_return.cpython-36.pycinfluxdb_return.cpython-36.pyckafka_return.cpython-36.pyclibrato_return.cpython-36.pyclocal.cpython-36.pyclocal_cache.cpython-36.pycmattermost_returner.cpython-36.pycmemcache_return.cpython-36.pycmongo_future_return.cpython-36.pycmongo_return.cpython-36.pycmulti_returner.cpython-36.pycmysql.cpython-36.pycnagios_nrdp_return.cpython-36.pycodbc.cpython-36.pycpgjsonb.cpython-36.pycpostgres.cpython-36.pycpostgres_local_cache.cpython-36.pycpushover_returner.cpython-36.pycrawfile_json.cpython-36.pycredis_return.cpython-36.pycsentry_return.cpython-36.pycslack_returner.cpython-36.pycslack_webhook_return.cpython-36.pycsms_return.cpython-36.pycsmtp_return.cpython-36.pycsplunk.cpython-36.pycsqlite3_return.cpython-36.pycsyslog_return.cpython-36.pyctelegram_return.cpython-36.pycxmpp_return.cpython-36.pyczabbix_return.cpython-36.pycappoptics_return.pycarbon_return.pycassandra_cql_return.pycassandra_return.pycouchbase_return.pycouchdb_return.pydjango_return.pyelasticsearch_return.pyetcd_return.pyhighstate_return.pyinfluxdb_return.pykafka_return.pylibrato_return.pylocal.pylocal_cache.pymattermost_returner.pymemcache_return.pymongo_future_return.pymongo_return.pymulti_returner.pymysql.pynagios_nrdp_return.pyodbc.pypgjsonb.pypostgres.pypostgres_local_cache.pypushover_returner.pyrawfile_json.pyredis_return.pysentry_return.pyslack_returner.pyslack_webhook_return.pysms_return.pysmtp_return.pysplunk.pysqlite3_return.pysyslog_return.pytelegram_return.pyxmpp_return.pyzabbix_return.pyroster__init__.py__pycache____init__.cpython-36.pycansible.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycclustershell.cpython-36.pycdir.cpython-36.pycflat.cpython-36.pycrange.cpython-36.pycscan.cpython-36.pycsshconfig.cpython-36.pycsshknownhosts.cpython-36.pycterraform.cpython-36.pycansible.pycache.pycloud.pyclustershell.pydir.pyflat.pyrange.pyscan.pysshconfig.pysshknownhosts.pyterraform.pyrunner.pyrunners__init__.py__pycache____init__.cpython-36.pycasam.cpython-36.pycauth.cpython-36.pycbgp.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycconfig.cpython-36.pycddns.cpython-36.pycdigicertapi.cpython-36.pycdoc.cpython-36.pycdrac.cpython-36.pycerror.cpython-36.pycevent.cpython-36.pycf5.cpython-36.pycfileserver.cpython-36.pycgit_pillar.cpython-36.pychttp.cpython-36.pycjobs.cpython-36.pyclaunchd.cpython-36.pyclxc.cpython-36.pycmanage.cpython-36.pycmattermost.cpython-36.pycmine.cpython-36.pycnacl.cpython-36.pycnet.cpython-36.pycnetwork.cpython-36.pycpagerduty.cpython-36.pycpillar.cpython-36.pycpkg.cpython-36.pycqueue.cpython-36.pycreactor.cpython-36.pycsalt.cpython-36.pycsaltutil.cpython-36.pycsdb.cpython-36.pycsmartos_vmadm.cpython-36.pycspacewalk.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycsurvey.cpython-36.pyctest.cpython-36.pycthin.cpython-36.pycvault.cpython-36.pycvenafiapi.cpython-36.pycvirt.cpython-36.pycvistara.cpython-36.pycwinrepo.cpython-36.pycasam.pyauth.pybgp.pycache.pycloud.pyconfig.pyddns.pydigicertapi.pydoc.pydrac.pyerror.pyevent.pyf5.pyfileserver.pygit_pillar.pyhttp.pyjobs.pylaunchd.pylxc.pymanage.pymattermost.pymine.pynacl.pynet.pynetwork.pypagerduty.pypillar.pypkg.pyqueue.pyreactor.pysalt.pysaltutil.pysdb.pysmartos_vmadm.pyspacewalk.pyssh.pystate.pysurvey.pytest.pythin.pyvault.pyvenafiapi.pyvirt.pyvistara.pywinrepo.pyscripts.pysdb__init__.py__pycache____init__.cpython-36.pyccache.cpython-36.pycconfidant.cpython-36.pycconsul.cpython-36.pyccouchdb.cpython-36.pycenv.cpython-36.pycetcd_db.cpython-36.pyckeyring_db.cpython-36.pycmemcached.cpython-36.pycredis_sdb.cpython-36.pycrest.cpython-36.pycsqlite3.cpython-36.pyctism.cpython-36.pycvault.cpython-36.pycyaml.cpython-36.pyccache.pyconfidant.pyconsul.pycouchdb.pyenv.pyetcd_db.pykeyring_db.pymemcached.pyredis_sdb.pyrest.pysqlite3.pytism.pyvault.pyyaml.pyserializers__init__.py__pycache____init__.cpython-36.pycconfigparser.cpython-36.pycjson.cpython-36.pyckeyvalue.cpython-36.pycmsgpack.cpython-36.pycplist.cpython-36.pycpython.cpython-36.pyctomlmod.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycconfigparser.pyjson.pykeyvalue.pymsgpack.pyplist.pypython.pytomlmod.pyyaml.pyyamlex.pyspm__init__.py__pycache____init__.cpython-36.pycpkgdb__init__.py__pycache____init__.cpython-36.pycsqlite3.cpython-36.pycsqlite3.pypkgfiles__init__.py__pycache____init__.cpython-36.pyclocal.cpython-36.pyclocal.pystate.pystates__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycalias.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapache_conf.cpython-36.pycapache_module.cpython-36.pycapache_site.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycaugeas.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbeacon.cpython-36.pycbigip.cpython-36.pycblockdev.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch_alarm.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iam_role.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_lc.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pycceph.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos_job.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmd.cpython-36.pyccomposer.cpython-36.pycconsul.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycddns.cpython-36.pycdebconfmod.cpython-36.pycdellchassis.cpython-36.pycdisk.cpython-36.pycdocker_container.cpython-36.pycdocker_image.cpython-36.pycdocker_network.cpython-36.pycdocker_volume.cpython-36.pycdrac.cpython-36.pycdvs.cpython-36.pycelasticsearch.cpython-36.pycelasticsearch_index.cpython-36.pycelasticsearch_index_template.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycfile.cpython-36.pycfirewall.cpython-36.pycfirewalld.cpython-36.pycgem.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglance_image.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgpg.cpython-36.pycgrafana.cpython-36.pycgrafana4_dashboard.cpython-36.pycgrafana4_datasource.cpython-36.pycgrafana4_org.cpython-36.pycgrafana4_user.cpython-36.pycgrafana_dashboard.cpython-36.pycgrafana_datasource.cpython-36.pycgrains.cpython-36.pycgroup.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychost.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycincron.cpython-36.pycinfluxdb08_database.cpython-36.pycinfluxdb08_user.cpython-36.pycinfluxdb_continuous_query.cpython-36.pycinfluxdb_database.cpython-36.pycinfluxdb_retention_policy.cpython-36.pycinfluxdb_user.cpython-36.pycinfoblox_a.cpython-36.pycinfoblox_cname.cpython-36.pycinfoblox_host_record.cpython-36.pycinfoblox_range.cpython-36.pycini_manage.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pycjboss7.cpython-36.pycjenkins.cpython-36.pycjunos.cpython-36.pyckapacitor.cpython-36.pyckernelpkg.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystone_domain.cpython-36.pyckeystone_endpoint.cpython-36.pyckeystone_group.cpython-36.pyckeystone_project.cpython-36.pyckeystone_role.cpython-36.pyckeystone_role_grant.cpython-36.pyckeystone_service.cpython-36.pyckeystone_user.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubernetes.cpython-36.pyclayman.cpython-36.pycldap.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclocale.cpython-36.pyclogadm.cpython-36.pyclogrotate.cpython-36.pycloop.cpython-36.pyclvm.cpython-36.pyclvs_server.cpython-36.pyclvs_service.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pyclxd_container.cpython-36.pyclxd_image.cpython-36.pyclxd_profile.cpython-36.pycmac_assistive.cpython-36.pycmac_keychain.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmarathon_app.cpython-36.pycmdadm_raid.cpython-36.pycmemcached.cpython-36.pycmodjk.cpython-36.pycmodjk_worker.cpython-36.pycmodule.cpython-36.pycmongodb_database.cpython-36.pycmongodb_user.cpython-36.pycmonit.cpython-36.pycmount.cpython-36.pycmssql_database.cpython-36.pycmssql_login.cpython-36.pycmssql_role.cpython-36.pycmssql_user.cpython-36.pycmsteams.cpython-36.pycmysql_database.cpython-36.pycmysql_grants.cpython-36.pycmysql_query.cpython-36.pycmysql_user.cpython-36.pycnet_napalm_yang.cpython-36.pycnetacl.cpython-36.pycnetconfig.cpython-36.pycnetntp.cpython-36.pycnetsnmp.cpython-36.pycnetusers.cpython-36.pycnetwork.cpython-36.pycneutron_network.cpython-36.pycneutron_secgroup.cpython-36.pycneutron_secgroup_rule.cpython-36.pycneutron_subnet.cpython-36.pycnexus.cpython-36.pycnfs_export.cpython-36.pycnftables.cpython-36.pycnpm.cpython-36.pycntp.cpython-36.pycnxos.cpython-36.pycnxos_upgrade.cpython-36.pycopenstack_config.cpython-36.pycopenvswitch_bridge.cpython-36.pycopenvswitch_db.cpython-36.pycopenvswitch_port.cpython-36.pycopsgenie.cpython-36.pycpagerduty.cpython-36.pycpagerduty_escalation_policy.cpython-36.pycpagerduty_schedule.cpython-36.pycpagerduty_service.cpython-36.pycpagerduty_user.cpython-36.pycpanos.cpython-36.pycpbm.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpip_state.cpython-36.pycpkg.cpython-36.pycpkgbuild.cpython-36.pycpkgng.cpython-36.pycpkgrepo.cpython-36.pycportage_config.cpython-36.pycports.cpython-36.pycpostgres_cluster.cpython-36.pycpostgres_database.cpython-36.pycpostgres_extension.cpython-36.pycpostgres_group.cpython-36.pycpostgres_initdb.cpython-36.pycpostgres_language.cpython-36.pycpostgres_privileges.cpython-36.pycpostgres_schema.cpython-36.pycpostgres_tablespace.cpython-36.pycpostgres_user.cpython-36.pycpowerpath.cpython-36.pycprobes.cpython-36.pycprocess.cpython-36.pycproxy.cpython-36.pycpushover.cpython-36.pycpyenv.cpython-36.pycpyrax_queues.cpython-36.pycquota.cpython-36.pycrabbitmq_cluster.cpython-36.pycrabbitmq_plugin.cpython-36.pycrabbitmq_policy.cpython-36.pycrabbitmq_upstream.cpython-36.pycrabbitmq_user.cpython-36.pycrabbitmq_vhost.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrestconf.cpython-36.pycrsync.cpython-36.pycrvm.cpython-36.pycsalt_proxy.cpython-36.pycsaltmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycselinux.cpython-36.pycserverdensity_device.cpython-36.pycservice.cpython-36.pycslack.cpython-36.pycsmartos.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh_auth.cpython-36.pycssh_known_hosts.cpython-36.pycstateconf.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsvn.cpython-36.pycsysctl.cpython-36.pycsysfs.cpython-36.pycsyslog_ng.cpython-36.pycsysrc.cpython-36.pyctelemetry_alert.cpython-36.pyctest.cpython-36.pyctestinframod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctuned.cpython-36.pycuptime.cpython-36.pycuser.cpython-36.pycvagrant.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycwebutil.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_firewall.cpython-36.pycwin_iis.cpython-36.pycwin_lgpo.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_path.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_servermanager.cpython-36.pycwin_shortcut.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_system.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycx509_v2.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pyczabbix_action.cpython-36.pyczabbix_host.cpython-36.pyczabbix_hostgroup.cpython-36.pyczabbix_mediatype.cpython-36.pyczabbix_template.cpython-36.pyczabbix_user.cpython-36.pyczabbix_usergroup.cpython-36.pyczabbix_usermacro.cpython-36.pyczabbix_valuemap.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pyczone.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pycacme.pyalias.pyalternatives.pyansiblegate.pyapache.pyapache_conf.pyapache_module.pyapache_site.pyaptpkg.pyarchive.pyartifactory.pyat.pyaugeas.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybeacon.pybigip.pyblockdev.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch_alarm.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iam_role.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_lc.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_vpc.pybower.pybtrfs.pycabal.pyceph.pychef.pychocolatey.pychronos_job.pycimc.pycisconso.pycloud.pycmd.pycomposer.pyconsul.pycron.pycryptdev.pycsf.pycyg.pyddns.pydebconfmod.pydellchassis.pydisk.pydocker_container.pydocker_image.pydocker_network.pydocker_volume.pydrac.pydvs.pyelasticsearch.pyelasticsearch_index.pyelasticsearch_index_template.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyfile.pyfirewall.pyfirewalld.pygem.pygit.pygithub.pyglance_image.pyglassfish.pyglusterfs.pygnomedesktop.pygpg.pygrafana.pygrafana4_dashboard.pygrafana4_datasource.pygrafana4_org.pygrafana4_user.pygrafana_dashboard.pygrafana_datasource.pygrains.pygroup.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhost.pyhttp.pyicinga2.pyidem.pyifttt.pyincron.pyinfluxdb08_database.pyinfluxdb08_user.pyinfluxdb_continuous_query.pyinfluxdb_database.pyinfluxdb_retention_policy.pyinfluxdb_user.pyinfoblox_a.pyinfoblox_cname.pyinfoblox_host_record.pyinfoblox_range.pyini_manage.pyipmi.pyipset.pyiptables.pyjboss7.pyjenkins.pyjunos.pykapacitor.pykernelpkg.pykeyboard.pykeystone.pykeystone_domain.pykeystone_endpoint.pykeystone_group.pykeystone_project.pykeystone_role.pykeystone_role_grant.pykeystone_service.pykeystone_user.pykeystore.pykmod.pykubernetes.pylayman.pyldap.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylocale.pylogadm.pylogrotate.pyloop.pylvm.pylvs_server.pylvs_service.pylxc.pylxd.pylxd_container.pylxd_image.pylxd_profile.pymac_assistive.pymac_keychain.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymarathon_app.pymdadm_raid.pymemcached.pymodjk.pymodjk_worker.pymodule.pymongodb_database.pymongodb_user.pymonit.pymount.pymssql_database.pymssql_login.pymssql_role.pymssql_user.pymsteams.pymysql_database.pymysql_grants.pymysql_query.pymysql_user.pynet_napalm_yang.pynetacl.pynetconfig.pynetntp.pynetsnmp.pynetusers.pynetwork.pyneutron_network.pyneutron_secgroup.pyneutron_secgroup_rule.pyneutron_subnet.pynexus.pynfs_export.pynftables.pynpm.pyntp.pynxos.pynxos_upgrade.pyopenstack_config.pyopenvswitch_bridge.pyopenvswitch_db.pyopenvswitch_port.pyopsgenie.pypagerduty.pypagerduty_escalation_policy.pypagerduty_schedule.pypagerduty_service.pypagerduty_user.pypanos.pypbm.pypcs.pypdbedit.pypecl.pypip_state.pypkg.pypkgbuild.pypkgng.pypkgrepo.pyportage_config.pyports.pypostgres_cluster.pypostgres_database.pypostgres_extension.pypostgres_group.pypostgres_initdb.pypostgres_language.pypostgres_privileges.pypostgres_schema.pypostgres_tablespace.pypostgres_user.pypowerpath.pyprobes.pyprocess.pyproxy.pypushover.pypyenv.pypyrax_queues.pyquota.pyrabbitmq_cluster.pyrabbitmq_plugin.pyrabbitmq_policy.pyrabbitmq_upstream.pyrabbitmq_user.pyrabbitmq_vhost.pyrbac_solaris.pyrbenv.pyrdp.pyredismod.pyreg.pyrestconf.pyrsync.pyrvm.pysalt_proxy.pysaltmod.pysaltsupport.pysaltutil.pyschedule.pyselinux.pyserverdensity_device.pyservice.pyslack.pysmartos.pysmtp.pysnapper.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh_auth.pyssh_known_hosts.pystateconf.pystatus.pystatuspage.pysupervisord.pysvn.pysysctl.pysysfs.pysyslog_ng.pysysrc.pytelemetry_alert.pytest.pytestinframod.pytimezone.pytls.pytomcat.pytrafficserver.pytuned.pyuptime.pyuser.pyvagrant.pyvault.pyvbox_guest.pyvictorops.pyvirt.pyvirtualenv_mod.pywebutil.pywin_certutil.pywin_dacl.pywin_dism.pywin_dns_client.pywin_firewall.pywin_iis.pywin_lgpo.pywin_lgpo_reg.pywin_license.pywin_network.pywin_path.pywin_pki.pywin_powercfg.pywin_servermanager.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_system.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.pyxml.pyxmpp.pyzabbix_action.pyzabbix_host.pyzabbix_hostgroup.pyzabbix_mediatype.pyzabbix_template.pyzabbix_user.pyzabbix_usergroup.pyzabbix_usermacro.pyzabbix_valuemap.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyzone.pyzookeeper.pyzpool.pysyspaths.pytemplate.pytemplates__init__.py__pycache____init__.cpython-36.pycdebian_ipconf.jinjadebian_eth.jinjadebian_ppp_eth.jinjadebian_source.jinjadisplay-network.jinjanetwork.jinjaroute_eth.jinjagitssh-id-wrapperssh-id-wrapper.batlxcsalt_tarballrh_ipconf.jinjanetwork.jinjarh6_route_eth.jinjarh7_eth.jinjarh8_eth.jinjarh9_eth.jinjaroute_eth.jinjasuse_ipifcfg.jinjaifroute.jinjanetwork.jinjavirtlibvirt_chardevs.jinjalibvirt_disks.jinjalibvirt_domain.jinjalibvirt_macros.jinjalibvirt_network.jinjalibvirt_pool.jinjalibvirt_secret.jinjalibvirt_volume.jinjathorium__init__.py__pycache____init__.cpython-36.pyccalc.cpython-36.pyccheck.cpython-36.pycfile.cpython-36.pyckey.cpython-36.pyclocal.cpython-36.pycreg.cpython-36.pycrunner.cpython-36.pycstatus.cpython-36.pyctimer.cpython-36.pycwheel.cpython-36.pyccalc.pycheck.pyfile.pykey.pylocal.pyreg.pyrunner.pystatus.pytimer.pywheel.pytokens__init__.py__pycache____init__.cpython-36.pyclocalfs.cpython-36.pycrediscluster.cpython-36.pyclocalfs.pyrediscluster.pytops__init__.py__pycache____init__.cpython-36.pyccobbler.cpython-36.pycext_nodes.cpython-36.pycmongo.cpython-36.pycreclass_adapter.cpython-36.pycsaltclass.cpython-36.pycvarstack_top.cpython-36.pyccobbler.pyext_nodes.pymongo.pyreclass_adapter.pysaltclass.pyvarstack_top.pytransport__init__.py__pycache____init__.cpython-36.pycbase.cpython-36.pycclient.cpython-36.pycframe.cpython-36.pycipc.cpython-36.pyclocal.cpython-36.pycserver.cpython-36.pyctcp.cpython-36.pyczeromq.cpython-36.pycbase.pyclient.pyframe.pyipc.pylocal.pyserver.pytcp.pyzeromq.pyutils__init__.py__pycache____init__.cpython-36.pycaggregation.cpython-36.pycansible.cpython-36.pycargs.cpython-36.pycasynchronous.cpython-36.pycatomicfile.cpython-36.pycaws.cpython-36.pycazurearm.cpython-36.pycbeacons.cpython-36.pycboto3mod.cpython-36.pycboto_elb_tag.cpython-36.pycbotomod.cpython-36.pyccache.cpython-36.pycchannel.cpython-36.pyccloud.cpython-36.pyccolor.cpython-36.pyccompat.cpython-36.pycconfigcomparer.cpython-36.pycconfigparser.cpython-36.pyccontext.cpython-36.pyccrypt.cpython-36.pycctx.cpython-36.pycdata.cpython-36.pycdateutils.cpython-36.pycdebug.cpython-36.pycdictdiffer.cpython-36.pycdicttrim.cpython-36.pycdictupdate.cpython-36.pycdns.cpython-36.pycdoc.cpython-36.pycentrypoints.cpython-36.pycenvironment.cpython-36.pycerror.cpython-36.pycetcd_util.cpython-36.pycevent.cpython-36.pycextend.cpython-36.pycextmods.cpython-36.pycfilebuffer.cpython-36.pycfiles.cpython-36.pycfind.cpython-36.pycfsutils.cpython-36.pycfunctools.cpython-36.pycgitfs.cpython-36.pycgithub.cpython-36.pycgzip_util.cpython-36.pychashutils.cpython-36.pychttp.cpython-36.pyciam.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycimmutabletypes.cpython-36.pycitertools.cpython-36.pycjid.cpython-36.pycjinja.cpython-36.pycjob.cpython-36.pycjson.cpython-36.pyckickstart.cpython-36.pyckinds.cpython-36.pyclazy.cpython-36.pyclistdiffer.cpython-36.pyclocales.cpython-36.pycmac_utils.cpython-36.pycmako.cpython-36.pycmaster.cpython-36.pycmattermost.cpython-36.pycmemcached.cpython-36.pycmigrations.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycminions.cpython-36.pycmount.cpython-36.pycmsazure.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycnamecheap.cpython-36.pycnapalm.cpython-36.pycnb_popen.cpython-36.pycnetwork.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycodict.cpython-36.pycoset.cpython-36.pycpagerduty.cpython-36.pycparsers.cpython-36.pycpath.cpython-36.pycpbm.cpython-36.pycplatform.cpython-36.pycpowershell.cpython-36.pycpreseed.cpython-36.pycprocess.cpython-36.pycprofile.cpython-36.pycproxy.cpython-36.pycpsutil_compat.cpython-36.pycpushover.cpython-36.pycpycrypto.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycreactor.cpython-36.pycreclass.cpython-36.pycroster_matcher.cpython-36.pycrsax931.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsanitizers.cpython-36.pycschedule.cpython-36.pycschema.cpython-36.pycsdb.cpython-36.pycslack.cpython-36.pycsmb.cpython-36.pycsmtp.cpython-36.pycssdp.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycstringio.cpython-36.pycstringutils.cpython-36.pycsystemd.cpython-36.pyctemplates.cpython-36.pyctextformat.cpython-36.pycthin.cpython-36.pyctimed_subprocess.cpython-36.pyctimeout.cpython-36.pyctimeutil.cpython-36.pycurl.cpython-36.pycuser.cpython-36.pycvalue.cpython-36.pycvault.cpython-36.pycverify.cpython-36.pycversions.cpython-36.pycvirt.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvsan.cpython-36.pycvt.cpython-36.pycvt_helper.cpython-36.pycwin_chcp.cpython-36.pycwin_dacl.cpython-36.pycwin_dotnet.cpython-36.pycwin_functions.cpython-36.pycwin_lgpo_auditpol.cpython-36.pycwin_lgpo_netsh.cpython-36.pycwin_lgpo_reg.cpython-36.pycwin_network.cpython-36.pycwin_osinfo.cpython-36.pycwin_pdh.cpython-36.pycwin_reg.cpython-36.pycwin_runas.cpython-36.pycwin_service.cpython-36.pycwin_system.cpython-36.pycwin_update.cpython-36.pycwinapi.cpython-36.pycx509.cpython-36.pycxdg.cpython-36.pycxmlutil.cpython-36.pycyaml.cpython-36.pycyamldumper.cpython-36.pycyamlencoding.cpython-36.pycyamllint.cpython-36.pycyamlloader.cpython-36.pycyamlloader_old.cpython-36.pycyast.cpython-36.pyczeromq.cpython-36.pyczfs.cpython-36.pycaggregation.pyansible.pyargs.pyasynchronous.pyatomicfile.pyaws.pyazurearm.pybeacons.pyboto3mod.pyboto_elb_tag.pybotomod.pycache.pychannel.pycloud.pycolor.pycompat.pyconfigcomparer.pyconfigparser.pycontext.pycrypt.pyctx.pydata.pydateutils.pydebug.pydecorators__init__.py__pycache____init__.cpython-36.pycjinja.cpython-36.pycpath.cpython-36.pycstate.cpython-36.pycjinja.pypath.pystate.pydictdiffer.pydicttrim.pydictupdate.pydns.pydoc.pydockermod__init__.py__pycache____init__.cpython-36.pyctranslate__init__.py__pycache____init__.cpython-36.pyccontainer.cpython-36.pychelpers.cpython-36.pycnetwork.cpython-36.pyccontainer.pyhelpers.pynetwork.pyentrypoints.pyenvironment.pyerror.pyetcd_util.pyevent.pyextend.pyextmods.pyfilebuffer.pyfiles.pyfind.pyfsutils.pyfunctools.pygitfs.pygithub.pygzip_util.pyhashutils.pyhttp.pyiam.pyicinga2.pyidem.pyimmutabletypes.pyitertools.pyjid.pyjinja.pyjob.pyjson.pykickstart.pykinds.pylazy.pylistdiffer.pylocales.pymac_utils.pymako.pymaster.pymattermost.pymemcached.pymigrations.pymine.pyminion.pyminions.pymount.pymsazure.pymsgpack.pynacl.pynamecheap.pynapalm.pynb_popen.pynetwork.pynxos.pynxos_api.pyodict.pyopenstack__init__.py__pycache____init__.cpython-36.pycneutron.cpython-36.pycnova.cpython-36.pycswift.cpython-36.pycneutron.pynova.pypyrax__init__.py__pycache____init__.cpython-36.pycauthenticate.cpython-36.pycqueues.cpython-36.pycauthenticate.pyqueues.pyswift.pyoset.pypagerduty.pyparsers.pypath.pypbm.pypkg__init__.py__pycache____init__.cpython-36.pycdeb.cpython-36.pycrpm.cpython-36.pycwin.cpython-36.pycdeb.pyrpm.pywin.pyplatform.pypowershell.pypreseed.pyprocess.pyprofile.pyproxy.pypsutil_compat.pypushover.pypycrypto.pypydsl.pypyinstaller__init__.py__pycache____init__.cpython-36.pychook-salt.cpython-36.pychook-salt.pyrthooks__init__.py__pycache____init__.cpython-36.pyc_overrides.cpython-36.pycpyi_rth_salt.utils.vt.cpython-36.pycpyi_rth_subprocess.cpython-36.pyc_overrides.pypyi_rth_salt.utils.vt.pypyi_rth_subprocess.pypyobjects.pyreactor.pyreclass.pyroster_matcher.pyrsax931.pys3.pysaltclass.pysanitizers.pyschedule.pyschema.pysdb.pyslack.pysmb.pysmtp.pyssdp.pyssh.pystate.pystringio.pystringutils.pysystemd.pytemplates.pytextformat.pythin.pytimed_subprocess.pytimeout.pytimeutil.pyurl.pyuser.pyvalidate__init__.py__pycache____init__.cpython-36.pycnet.cpython-36.pycpath.cpython-36.pycuser.cpython-36.pycnet.pypath.pyuser.pyvalue.pyvault.pyverify.pyversions.pyvirt.pyvirtualbox.pyvmware.pyvsan.pyvt.pyvt_helper.pywin_chcp.pywin_dacl.pywin_dotnet.pywin_functions.pywin_lgpo_auditpol.pywin_lgpo_netsh.pywin_lgpo_reg.pywin_network.pywin_osinfo.pywin_pdh.pywin_reg.pywin_runas.pywin_service.pywin_system.pywin_update.pywinapi.pyx509.pyxdg.pyxmlutil.pyyaml.pyyamldumper.pyyamlencoding.pyyamllint.pyyamlloader.pyyamlloader_old.pyyast.pyzeromq.pyzfs.pyversion.pywheel__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pycerror.cpython-36.pycfile_roots.cpython-36.pyckey.cpython-36.pycminions.cpython-36.pycpillar_roots.cpython-36.pycconfig.pyerror.pyfile_roots.pykey.pyminions.pypillar_roots.pylibexecsaltsaltsalt-3.6salt-apisalt-api-3.6salt-cloudsalt-cloud-3.6salt-cpsalt-cp-3.6salt-keysalt-key-3.6salt-mastersalt-master-3.6salt-minionsalt-minion-3.6salt-proxysalt-proxy-3.6salt-runsalt-run-3.6salt-sshsalt-ssh-3.6salt-syndicsalt-syndic-3.6zyppnotifyzyppnotify-3.6/etc/alternatives//usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/salt-3006.0-py3.6.egg-info//usr/lib/python3.6/site-packages/salt//usr/lib/python3.6/site-packages/salt/__pycache__//usr/lib/python3.6/site-packages/salt/_logging//usr/lib/python3.6/site-packages/salt/_logging/__pycache__//usr/lib/python3.6/site-packages/salt/acl//usr/lib/python3.6/site-packages/salt/acl/__pycache__//usr/lib/python3.6/site-packages/salt/auth//usr/lib/python3.6/site-packages/salt/auth/__pycache__//usr/lib/python3.6/site-packages/salt/beacons//usr/lib/python3.6/site-packages/salt/beacons/__pycache__//usr/lib/python3.6/site-packages/salt/cache//usr/lib/python3.6/site-packages/salt/cache/__pycache__//usr/lib/python3.6/site-packages/salt/channel//usr/lib/python3.6/site-packages/salt/channel/__pycache__//usr/lib/python3.6/site-packages/salt/cli//usr/lib/python3.6/site-packages/salt/cli/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support//usr/lib/python3.6/site-packages/salt/cli/support/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support/profiles//usr/lib/python3.6/site-packages/salt/cli/support/profiles/__pycache__//usr/lib/python3.6/site-packages/salt/client//usr/lib/python3.6/site-packages/salt/client/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh//usr/lib/python3.6/site-packages/salt/client/ssh/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper/__pycache__//usr/lib/python3.6/site-packages/salt/cloud//usr/lib/python3.6/site-packages/salt/cloud/__pycache__//usr/lib/python3.6/site-packages/salt/cloud/clouds//usr/lib/python3.6/site-packages/salt/cloud/clouds/__pycache__//usr/lib/python3.6/site-packages/salt/cloud/deploy//usr/lib/python3.6/site-packages/salt/config//usr/lib/python3.6/site-packages/salt/config/__pycache__//usr/lib/python3.6/site-packages/salt/config/schemas//usr/lib/python3.6/site-packages/salt/config/schemas/__pycache__//usr/lib/python3.6/site-packages/salt/daemons//usr/lib/python3.6/site-packages/salt/daemons/__pycache__//usr/lib/python3.6/site-packages/salt/defaults//usr/lib/python3.6/site-packages/salt/defaults/__pycache__//usr/lib/python3.6/site-packages/salt/engines//usr/lib/python3.6/site-packages/salt/engines/__pycache__//usr/lib/python3.6/site-packages/salt/executors//usr/lib/python3.6/site-packages/salt/executors/__pycache__//usr/lib/python3.6/site-packages/salt/ext//usr/lib/python3.6/site-packages/salt/ext/__pycache__//usr/lib/python3.6/site-packages/salt/ext/importlib_metadata//usr/lib/python3.6/site-packages/salt/ext/importlib_metadata/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado//usr/lib/python3.6/site-packages/salt/ext/tornado/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/platform//usr/lib/python3.6/site-packages/salt/ext/tornado/platform/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/test//usr/lib/python3.6/site-packages/salt/ext/tornado/test/__pycache__//usr/lib/python3.6/site-packages/salt/ext/vsan//usr/lib/python3.6/site-packages/salt/ext/vsan/__pycache__//usr/lib/python3.6/site-packages/salt/fileserver//usr/lib/python3.6/site-packages/salt/fileserver/__pycache__//usr/lib/python3.6/site-packages/salt/grains//usr/lib/python3.6/site-packages/salt/grains/__pycache__//usr/lib/python3.6/site-packages/salt/loader//usr/lib/python3.6/site-packages/salt/loader/__pycache__//usr/lib/python3.6/site-packages/salt/log//usr/lib/python3.6/site-packages/salt/log/__pycache__//usr/lib/python3.6/site-packages/salt/log/handlers//usr/lib/python3.6/site-packages/salt/log/handlers/__pycache__//usr/lib/python3.6/site-packages/salt/log_handlers//usr/lib/python3.6/site-packages/salt/log_handlers/__pycache__//usr/lib/python3.6/site-packages/salt/matchers//usr/lib/python3.6/site-packages/salt/matchers/__pycache__//usr/lib/python3.6/site-packages/salt/metaproxy//usr/lib/python3.6/site-packages/salt/metaproxy/__pycache__//usr/lib/python3.6/site-packages/salt/modules//usr/lib/python3.6/site-packages/salt/modules/__pycache__//usr/lib/python3.6/site-packages/salt/modules/inspectlib//usr/lib/python3.6/site-packages/salt/modules/inspectlib/__pycache__//usr/lib/python3.6/site-packages/salt/netapi//usr/lib/python3.6/site-packages/salt/netapi/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado/__pycache__//usr/lib/python3.6/site-packages/salt/output//usr/lib/python3.6/site-packages/salt/output/__pycache__//usr/lib/python3.6/site-packages/salt/pillar//usr/lib/python3.6/site-packages/salt/pillar/__pycache__//usr/lib/python3.6/site-packages/salt/platform//usr/lib/python3.6/site-packages/salt/platform/__pycache__//usr/lib/python3.6/site-packages/salt/proxy//usr/lib/python3.6/site-packages/salt/proxy/__pycache__//usr/lib/python3.6/site-packages/salt/queues//usr/lib/python3.6/site-packages/salt/queues/__pycache__//usr/lib/python3.6/site-packages/salt/renderers//usr/lib/python3.6/site-packages/salt/renderers/__pycache__//usr/lib/python3.6/site-packages/salt/returners//usr/lib/python3.6/site-packages/salt/returners/__pycache__//usr/lib/python3.6/site-packages/salt/roster//usr/lib/python3.6/site-packages/salt/roster/__pycache__//usr/lib/python3.6/site-packages/salt/runners//usr/lib/python3.6/site-packages/salt/runners/__pycache__//usr/lib/python3.6/site-packages/salt/sdb//usr/lib/python3.6/site-packages/salt/sdb/__pycache__//usr/lib/python3.6/site-packages/salt/serializers//usr/lib/python3.6/site-packages/salt/serializers/__pycache__//usr/lib/python3.6/site-packages/salt/spm//usr/lib/python3.6/site-packages/salt/spm/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgdb//usr/lib/python3.6/site-packages/salt/spm/pkgdb/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgfiles//usr/lib/python3.6/site-packages/salt/spm/pkgfiles/__pycache__//usr/lib/python3.6/site-packages/salt/states//usr/lib/python3.6/site-packages/salt/states/__pycache__//usr/lib/python3.6/site-packages/salt/templates//usr/lib/python3.6/site-packages/salt/templates/__pycache__//usr/lib/python3.6/site-packages/salt/templates/debian_ip//usr/lib/python3.6/site-packages/salt/templates/git//usr/lib/python3.6/site-packages/salt/templates/lxc//usr/lib/python3.6/site-packages/salt/templates/rh_ip//usr/lib/python3.6/site-packages/salt/templates/suse_ip//usr/lib/python3.6/site-packages/salt/templates/virt//usr/lib/python3.6/site-packages/salt/thorium//usr/lib/python3.6/site-packages/salt/thorium/__pycache__//usr/lib/python3.6/site-packages/salt/tokens//usr/lib/python3.6/site-packages/salt/tokens/__pycache__//usr/lib/python3.6/site-packages/salt/tops//usr/lib/python3.6/site-packages/salt/tops/__pycache__//usr/lib/python3.6/site-packages/salt/transport//usr/lib/python3.6/site-packages/salt/transport/__pycache__//usr/lib/python3.6/site-packages/salt/utils//usr/lib/python3.6/site-packages/salt/utils/__pycache__//usr/lib/python3.6/site-packages/salt/utils/decorators//usr/lib/python3.6/site-packages/salt/utils/decorators/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod//usr/lib/python3.6/site-packages/salt/utils/dockermod/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack//usr/lib/python3.6/site-packages/salt/utils/openstack/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pkg//usr/lib/python3.6/site-packages/salt/utils/pkg/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pyinstaller//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks/__pycache__//usr/lib/python3.6/site-packages/salt/utils/validate//usr/lib/python3.6/site-packages/salt/utils/validate/__pycache__//usr/lib/python3.6/site-packages/salt/wheel//usr/lib/python3.6/site-packages/salt/wheel/__pycache__//usr//usr/libexec//usr/libexec/salt/-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:41616/SUSE_SLE-15-SP5_Update/c7c69f056e2a96169e2bf48fc9401294-salt.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux             emptyPython script, ASCII text executabledirectoryASCII textUTF-8 Unicode textPython script, UTF-8 Unicode text executablepython 3.6 byte-compiledASCII text, with no line terminatorsPython script, ASCII text executable, with very long linesBourne-Again shell script, ASCII text executablePOSIX shell script, ASCII text executableC++ source, ASCII texta /usr/bin/env sh script, ASCII text executableDOS batch file, ASCII textPython script text executable Python script, ASCII text executable  !"#$%&'()*+,-./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 { | } ~  RRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRRRRRRRRRRRcv4N!ѿ # force re-generate a new thin.tgz rm -f /var/cache/salt/master/thin/version rm -f /var/cache/salt/minion/thin/version/bin/shmanpython3-jmespathpython3-netaddrpython3-passlibpython3-pyinotifypython3-Makopython3-gnupgpython3-timelibutf-8366f999aaa5fca13e93457fcf37ae23bd5e0253704cf72dee34b9f604cb7f56a?@7zXZ !t/Q=]"k%pa  0X=oh~py (E4! .եY  aLM.ΦF)զnmF+_߰Go]P )P`R)ʳdn줻Q%t|eFtGt~F)1c%(ֹ͉aWF=>٨$dQ;CLńaڥfgp:WaRel.ErEV}X})W_\ M V4PrcƗƕG@ZiY#0tJ#t jy!<@拈0ZwG=gd=PLؚY qgf *;Qh,_vb >S |blMDz%5Ҧx͟9Yȧ#iEg@}NrZt'jQ}F??fa\F<342:\8ҋVo}D8z5 ŤW&;"<(,<7?FGKEsP]k W "pUq{1d^ %V4|b[&ܢc{wU.FV7?~iU/vHန 0`¨ $Su=PBt.b'`;`Mq٘[V:,jocN{WQusմ$_Cg\ .%j/RڡM-óx́?[~Wy\ 7?.C6("< ]_\EyBy@d$xQ Ac˱mZOaIUFf 7Ű/kBI0 AaѯXt -M]?k '쨯t0 OvX{ th1[ʪ]i7E$a'+c&BD`XV})Qa Ug^yj\1gwm[~ٲ~!gu賜C?Nkhũ#JFgO]}HI ]P20 yY,eסpD0/X2"v-%-4%ڱ!aaV hKAUJ0*vqGW{f!#Om8w5ż?h~I=ؒxen/(04K &iTOG_>pE5X6":ZR^bZjJ }:; Rͩ*h>Dۤ WސI=X:Q'1}w‡-{t*ϫhN (:D%VIwڼq+.C$:tomnA2$Wc3an*mqU'h f,g㙼DM*NybOu1O:W}m[q'7yp df'E0+V)>&I?3>B"7mC=Ll](r0/;V~bN<%%Is6c/dU)`%r|%y3}~yeAe<&0v(Ԃi3]uAFv,}+* {OS܌6 Ǥ",T~ !\n9#-6Hwi *I7pcN՚+yAǮaK$}|8^h]I*ȢtK_j٘ȲE.J2aWGڻqH΀VmH4;g sHrqs61k ^ @rK7Of}A[ ^;z%RAGi1!o*N]Tv2&  t/,z7 [ّi)\$s A$JP`-hǔv!}  8AlU,IL N1|.5qAɚeH ESn~) q54m%\G:eqfd%V|oW#͎ϋ^5;wo3kݽZySFjZ?gu<'{':[]]%S\q!}h ئ|F1U:~IaQ8/AۆX+]y}֑w++5稱NՕV 778^*,x~T.0w>~+>!Ψxw!i5W5y9ue cj> ~I<b$2LȂ(cG+;aބ/71HQE{顂+Dh$#bVn3WVtC; xxGŪԢۑQ@ԶE&עcsh20#~1k,RtY&x#nzŗws{&;0 l tn S504u">=*qω?bYVgB/6[p*p ՖUK*u1';K-5Ƒ-4V &uS?AC/\x$[3y߷"72N(]EZH 1U0Ӷ~C1fO PI"J/8 ;OT׀+X QNGu.֑{c>ӻơ`omnYJף_6KFyiLʀJpdA+\oO8y6 &ӕHw[xϑ%hom%czjv`ʼ;jM Ɂ\Zka;FF[w5qiT*};[(3ݓ̐aoQ-rzVIN_= '\novk?L m7hiдN{򭝑D&t-ФS;qcHy.Q7 PGk.y=F7SѸi.KX bNYP%bHPkɡօN`s~ǡ<츫[wMWd S]ۍWdPTp J"jk׍˗d;%Eq{~ c{VJ"M>iB5b(fkօ<1BJn:Lk3#'y"op cʾU> P'E?P/6O:c˵; <׻h4a\lQ%rq`"oGe+%Rf5AEAJIT^R\zA=/2P1k&ӿ'Qgϣ"P, gxHڳ=$v 7'>EN!)Ǧin~L0L#Zr.1Dy`UP=rsp^ۨ<]ߣ;هGƀi@'U ## <#P)KoL0VkIgm{#mhcZVP?L ̏w~3qֶzq*) $gz=M !Qg SEmZzV 6r_ef{l =V3,J7>X#E< q"&"\7U'j>ڽqkMεWI tyv?PNK*rG%ʼnRt%kFw>w"r#`t/(3V gwgKz$p%:~R.CivӝFe/نHw充ZeK.9}z U9escJiCoXЂ8 U ZUQ);uP%[_j.r>^^JF'du7("~ݢ=$8~ʍ>QF|=綀x1, ȸIWj_֕aqI+@3a(V3[MX kc݄+ -# ^GNv[ުZg:Q'>߶8duZ*N{#u[K+R16Bp\rBbȽcFo}p!jTYU*E6D:zF &Xo" PGi؁zl~S8iǖD~MBHJ?}w+U`}.W2PDT,>%LӚZ)q`V$wO(&4T͐D%#NxQbWMD*@[ 0[F ,?j2`' Lm(VT;7G `dtQ ( +8MUw95D[x?bT;j7ϒ9 ||i3 j(g3_Naĉ e<7ĂKxOVmTxCؖƠ@`]yՏ:+`cM}),8d9:[! [f7'dɩt7~aLnJ&D Lҷ|ufY/{m`QL([\^qw]> Ie҆%Ɗٷ]aHי ~w{6[l5K/qۭ*^vq.<7Bֻ`#&6r4f ,IU>>pEYO}8yn"hjڔW&$~MS^k JbgJ`KIq|J;J1z ~)\ 'M9L$#Ao`&iCO *ܔ#x7ɵ0z8sT{eĽa1,?*#cn^ [ W辽HhaՑ2.>NCVZ<^عbk7:W_s!SؼAPғ+a$쀛/GmtZvCLn0 N6ݩny@.bvRғh\swݝr'ܽ/9R뢛b(5b.I X^ohI`ޏ12_1О Oj/w ~LJz?SE >Q"evˌ࣐;֙5SDc?X@o JdUq [&2` dxS#pW $j2߷Jd8"k=&'.F}1\V#›G|SȻKBeh/A>}(uAU&cמbz`<3@xY9٩Z,6cjC[pjqM&DlL? N K-ؐO;\ۨ<Α0 4C`MWAv@dCqUFv B>8I? +j_ |D_4Do×9RawŕjJzV|nȶ q ;M̖S/@ڻfP~,z S٤ oaA|epqtk~I@c9LW ޥx:eFVhߜǃK)80dx/jo-9k俔`TMPeFCd:4(˰:l <ᵪζ.v ;ɫ0G =Й^4%z0;7rEl?$᪨/vr=2S~9 !@b469ޏaj!(YGV-4-De(5c$̦y Bҩa>怫owTUa[MdX6E=3LJz#Y2zNN;>mKG:4xR=DjI }SQö{ѕNǪfa˥Ys.ζUVLScF>aƬ6SUKqRR%:aEkE 9'ޅԎi`G19x+ՑQ17Y{I$95'roYHzL C|Tm\hUd84!oeP{*ܕw6d՛-%cms\2_j2BV"^}֧ M YmP#dQw=)1Q%.ɠ zN6giK5E6b&J 9 _yO!]h2_(( n3⦑.F2y<xdG6Ra r@Zvt~h?xg}cɣ&ոk>bq,@u*൞?-մNJEL󈡊,`l`L[/X ԴRu{,B7fd$}c1#ɢ~cm}{l9}:{yO Ĵ[5(#fg-.O&Ieaz9*l+O)wEKr1?C]7(_KSiW]N %R{;_mwi35Z"X)m5=GV1{A=Wou[o6u>{!ѕC;w aW@~[]fI!l+ :/lca'>Ui h/ uȷxÆ!8UpG:Pږ/ YXX?#00nP58]WP/U&5Ec d T}^K>Wc|_ۅ!c#WzpPm"}'ZOAfF)঺( = r~8N2ptD?OoE =kQwpއnB!-ђNb]DՊYAk{C:}W#+ i:Maf"s2w6NFd,JL\`G2L pSݰh)-O*k a… ùO J͠Lo&LF_+RE~94bɓ^saRQUz< U;8|x4A<3!Z_-Sg1"^}i`X L{ +lGeq8U؝ǝ(mVc]GCCa?>FEUr\I5$$Hy:fڞMuRQ7Fgo)e.p,i\e rgnF,^$>0k E Wk=T_[Xnz<p pKOz/v:!*+>d#>肉SB'*fИ@.w71aDg?H+b:6FKɩù.u"~N_$ gD%+*oqLyo*Ndc =BѶ%=g5(Дc\vG3I@=7(7ۊ"mH4t>Ox0+6v8Y:/l-fP֫8sIl})l>(Jkʻ:);Zb6>)}(*F@JaАtgWۙ:&-j&”7w ] b`mKl__H ^zY񩀹s.|rz&(2e-Q^YUC/433B0VkOK %55V؄.2jF*Rs_ibe~|Aaέ9_';H{z%'Gazh^`pxNJ,˾*EEn%jiƐ5Z`z4 u'OU[ Lzt?eӧ7\ߧcS0xP](w_pO߳ 6UoAjT=s8w*f8 $z'"\PA.Ez26g{;_˾gv9|Gyk!*'hq" ,u_V^ a7EFq)TdfJSl)lcBq.XN!ED\G[y~ +/Ì%+BA^ ם4k }4n bh"UBڕ'N dh~:1l j.gP~c$W@Q4?IF(OZy%^B${LIĵ G򶶺p.j=u M!mE߫EHZ>ix&A532=T;TV=%R&:bj_g1noT $Y+(ewe])N>SDY>*rLEWjes~KlKďKM7@Y9,0?#*ηm(Jc'u_ccAUÒ3>L b3w)P"gZ𲡰v?Ucپ<#l<|<GgUM'ꯣpzAn F.x VY H'liֆGLEh=AYyKɟ$b5 _Y\ZB%s! O8B]#L"5YD b[k!%m'@! „^X~ #fq8F0^S9 &UI»YӥYQmF_Y^)B0 =?QްL6_dUpqJd>zbMɽVߵe߫`:]G.}HkdTg;#$8vy1K kŤ/ rD$pCDcm`u;F|ޚ&Rvv/%C(vhr"/C쓈PT#!>u]5a Kȃ%u\#.&;0ߒSyrjWC a7akyWG u1قztS@CJ2VYPk_UӖ h> r lG.@{++) :ycw22P;\#IgD(=Rwd_3vޱqI w d>퀇d]&ع0-| >/ą)xl~fcEsZp42K곟X\VG ;Z%6P& cpƭ±)?~ldm=8b ش,kz3>E%ۼVdiеT[ѓro.µx*0z]oKwE0:HO^kr뜤L@8JyDVcvwAidS.V;iq&.(Fj|3klH*U|FsyM\S>mMTj|9&0Dt{-f8JZU[mC{_3ce_6TlTdOIܱϲct5\%E#fJ8$+UE=4Wi$qͽEʸ@۶a'{8h=P&\A$AclJM$_mHHKJ)~n?'E6l"Nb_`BhSOʤa177C(Q ud7m&*)uZ?)K) Dj,H!(FFɃVrzr܏ MNk*W7։$'@6$3>!u7vi$5S?:,@/3SҦ4]RUR+YjŽF7CGb#N(YyKc+fF-zB/r^[Dz-'ϒ\y>#~SZ-<{)Kse(_Tb`qO]J8?a֩r+KR}WđRd?F8v@]q,n9Nzbۏ.}b$@t}R!0YjhN0^*㱒vK#x J VWP^*fl~/%˅ u{Y2Mq35,ʦ T+#n\9 -stezƞJ ^jF<mƾݑ"ʬYU@Gu: WSE4P8gI| VGl`j"G ȽDJ/lWÞ.\ӀθW@9Akp֝=pR_"%d}ӳ>nCSȑL[XآK\ U^}vZ]t=g:&CC-" isr6o5  ۆN̡F}(װn]U:L G"8D{a.D#lpX m`Щ~nDa)e?X:3ݶŪs'@K? 3ժBe['X%i9ӝX~@~ P\X>![M˘|Gy%L;hnmviۨDjKKYka▅|[#by,?h\։Fp/Ѩ|K-m}}qCɕQ[:=aM Zٻx]:Zou+~!&+փv19 춓d(JII8}HT@ ; Pr̀J%QM𘰦sOSgR*_o5AQJ²9Ӽ~A˙je`CFՙ9W!|VMI[ "fmet W]z8-<u ILcm})/MGplGM Iv}1w]07rPK2; xD**ABlX>J%/Ǜհc%w[U^L$3mL5z+5 aՐy秿 P{1Ӻ?6]S!(!VʖyѿjpoJ豰T{uP+<ІXSw;"yVnr9KhvL4{eW7H^8nBAY!f唕*eElŜae(.d]FI[%(yUJx>(Կ}w|\wDO%T|Ӯ r84FnM@%ҰgVc*ǮB*tETV=ajB/"4~4T`buWblD+ɑF%=nY2:xIӊc9\ tE֤Մ(_;jsov}H]'dIx4yI목^ghma~@tf4AKDtAQ%`klc2ۭkmR`\_hxncwbws:#3x ?CZ\5ԐH}` 05C!^sK7;#ð& UgǧQQRf,+ Y!F 1yĵ(@LG4J/~<"JKX}*Ҝ%;Q h`Z,u&SԒ4ۻx W]r['~clv(!T۱LE ˆw6!T[9 Q_4EZKKPj鶾_l)٫7Mw䉻ݤ пwo%{>FoR2#a,V 3dlc_LoJ 'k u KkW'6#( +;@,"*u'T~qFxBQe׵vZ&ʘ%>#TSkZU_<Z3.Tt\s%z\}amj@7t_s]#+b8,[AB*b;_QT~ID#B;o'.̪(wb&V3.k 0KM>KKGVR۪$Y|X`UCJH^[Q# PNIaZ6(ݯ0qhEȳ]O/.kvWu\S"_O6ڇG.2-:Y"! 1X1(>{jkF#F?)]p19 Q=B'),E4I. nzH.1&nJ84+tj~C̬0e~'eqpṜ$ayxl a(+#z/ftP>(sHac\RJLpA<^wx?ї]X)R<׿~ %/]oJh=>!fc!v_2kwXA@ Dfr>VAfٳqVdJ:@ g|}#8~VD4O[,9Yjj5T2C` }[Z1dhuq1'e`LFl 0{tIWK*,Q ϴ#fEO<|o@˱7CxƇUg_BcvZ!RPeB"fԃCѧ-Nr̯y~:c.w>Tq3;ړb89dHk F( AH k*ƃV^#A} L\yG\o%a$ۣ2M>)`x;hg`ȮtrH= 3a)g(qgf1M/6vfIBQhSʹBec~RT1uri EC#&;jVv4=Ec;`"M1%lŹ1 JlL`iBYcz1π%0וL5GsRuĦ.cTHET :N)X`0 5JRB I 9~j\&<ϰbߕH-Iwk*k+P)y.7j % (`=雇}|A/հL&$ҟjIf U?.F4LtiI#WbsGR{=]E+j74̈́Qlv+6iopf}Dھ)̉D<* բ=cUc %n$ mIyՈS@t'E2죸nJGUF\=ޮőn䚑&8j/Hz|ng<;b/ꖢ z/6ѻwa1.1'X©`+QNr8 eAPŻ:{ 37v+ FJ5?84{<Tguh9WL;)HTz.Ϡec?:~ hb[Ĩ' TTBqoeOrՓoW/޲ZbQ[ODŽ&uyAT&`&Fǿ5[eBRmfCS {b ])a9զj?֏Q_ +EDXxAP5wG\?t/3}5w6%&i=+=v'pSN[/#}a,'egٍFw&9jmOhӖvɠeda@) Aw/^O|Gb FŬ]6d47AxaR7SŗȀ`皃#ѺIVV@3/Ci[Y5QEDssN" S@նAD<- 7Sƺf?"&õ edI/@y&0J1fMdeU =\Ƌp.=Pl)3^Ƣh`vG]QKaFDKW3N?@ju{IEt-|^SQ%<# <,,=E.ScO dGc7^xI?ZǏ"J"ɦA8ʙv{E'$1,/'+ oi7tk%) eG8ru ,pKZ7U ǑqVJM0輐fmy0 wuE2ZE`B+DWߩaG㡅!.7VDsz0zXnCE BI>*>@W)K;Z c'Z}l?Ky 7_ֵ Y4&f9+ٷ uֵ^W&.bө :–aw^Pc%ZR]=V}Dܒ#pG)  X*Hn׏oi"Kܿ# tğjuք\ s=d7ѲY!^F{b߂ #P`*q_\(dK 4ʽ9zقDԣv=B%lh(ZY}i-ab.0Gv5b}/oY@ed|< `7JxZ3Rñ?,?pfj Žl) ϱNX(X .XQh3[?Y E@O]9 0Zw4N8@L3yĢ/ h?rdwj+> ֛%pbк;0RF^_Oq{pxtH"K~>;OD2ٙ?or.7/3EJ65N= XRmz*PvTY@3r9L[)]i~ߊZEt7ݲ\;ŷ?"8͞>U@mio/uD14fU{i( JT\3f\dr[jvv#XxW ^IRɓ\w, Vh:t#33݀'Pʺ(+!h`#R@KB,..|hq @:;":*aK6GÛBTICwu6 |/HOD{7$Anլ Y Ge<;| r<5&]b=(W?/KheL"+}Gݖ'|pIMWODfoLodVpq񖳹q; vdD/qͦ#vv3_O!FC.Bÿl~#5i?T 16 I3a7w1Z.ADڕ[,πRhe7yÅI4ƧqPBoNVȏ+6:0n Τ'Bdhk&8REe0N40%Mf((CLٱ\WEf ne(eo`A_a/CTPL{J&FYꍖKLBYwWQXv^N16& "2rRv*2гc+E[ܑ/~`Z̠WѳNHDQA(&ɲ:fh K˷l/5pზY,-Wq+W yq4~S7+|סV!;'y2j=6gI[0n,9N"a-%r/S8;Ϻ75|$+7؎}X'|kI4Z7j̞2 Dd\,ߣOenvH| ڻM0绳On$a $=3CC  ޥ;RGpJrp  [mJMNd53"[ɝqZs5xo6!hפ0Т/|#<Ϟ!7c V@[tʱh]oXug/.=\fL,VmwJˀV@Ѷ}:-jj\XRgBH "g :xZ@!(BUJ*4^= }..q*b+ŦS(\&lo} r&C, P) 3opR;NyR} &}M7xG.]F=*4w釒"H-tdqzazk0웢:wd|)[(H#Ɯ.|hBal2]tѰr;7ojW 2tMA2f?$=:(LdlWT(%a ͅpNJVldTxcfYHN/Q}gQțryO b+CA"O|XDybSM@u=4^=b^t-4'gaS?Qvއ ɜV.oN!]zҮQ"*k^+cjoB\%BT&[_)(B\`<8phF@| VG6J.Zי.!FP%ZW{YTQ?؅YdOВ$^Z*Vs\y:QfEw{$cE끽󚔀_ ˥;0UZU!pf@tz-&5T]ئqLʡEI"JκFPC4Cg_eX_o WE*/T9*Ɇh#};A!;-x$vsfE5L%@5;Z2H b!nJhIQ:٧7>~Y HE70mL[7FdNFFp3R@ؘi.U"JzglO$ꇸGgڋփmt d;5=tNw,'3g* d"Ĉ>yv0(թ{]ɵ8M'_Q`|BRvsuUW3;=ndA@"sb*Q{>0r荌UWΖ/xaBo:3ȘpNmf*3p\eI[IJ|rtJ4"4&V Q_F[YnC=w: XҲ@|.3(-MZ #]>l;_$>HjdX+B+^eOG2b%Ph 7}"hA8}x-K sz /DP'a~ &4H(2L+d`R%oּ lVqK9\A?,zVgZ晭D=I4Pl6 O$,'mM x΀G_]*H?.*ЖF[Rq9 n[{2ۅ&cYgw=BrvkІ mfֱGw2ag P;'ǥQbYDB) % ,Xf^Gp-6'{Lᰑ]fv{^;VrZ eV{ kZ 3P2b =+ !;:̖@9C;$ -N5I69o9c7=Զ|mn_. ̈́XCxOVd\$ͮ9 nXaX`?+$ӂ0 j&po- `ݡ V #oyC|GdK7$K%$8ib;N>|} D #Z09rz(5 :yyt9;*;rQ%ƟgXr&B[l hV'X Kd'"p ePew>`/z6;qzVEbDR_ٓJp]bB~$m.Mը_-g5`̖L?Ctk-,~W'ȻB\Xޮne^]xn/N&4w=| א bF })uExT^a,Ы)m-~,)-m J sшB kDB$.XjNEB0uQ\RE6|Ø-ŘmlI3sz%Mdw7[P>!Y1;73&r K!~Z݊4;2+.dȟE0^=|_O!́@S[,g1݋I" %d 2fE煲cjϏ㦫L+J ,qԇhؘ^ܫOj-t W=^4ͱùK؉<:%Fz}mAϋX/FYRw`e1e6L$ۗLFl̪ TkϴzY"#ḾkohzO/ G6=Mq2jDgp-{X&אַp:%5S/G-'Sn^)|*e P5?Ki*7^Ï>rI %~@WSK β]KUzޟx]1Uc2tٕR,|>YVR!g2ڐBh=_%gθ>$UXLk]RAKMt@8>yCq!+bEmA!~:VɄ23>FPY| t,0y$!L}]iΊ<}'U8lkg'0qtQMfeT=6f߁cUY*{ajD] Q~Ҟ|=lOi-45c߅8C[Ŏ9MKGۄ$xyk-}zjD)C$GD@,DYnԜ>zX  ұQ+ l! Ȕ`J\rbZķ7ɘ哆l5IRPL9_t; xTI=#jݚ-Si$Y/{.e9OsQ˪*G:S^p( ^Z)|=[ (6 8OETnɿ-'vt&Xyյ?)JN ̀oΞU/(s:Ksńp '7_5h#bs@)Pq Kk.U\N^&4Ud=Л\ F -C]?(E5'68r7soi&v;ͻtP1@fqb%V&ҬtizJJUCNǪ-`fYzjn4 V t5RsU-Xzd&ruT(6^MӼіh&1qzO,!m?zZqROFo^&zFM ~/3-j_$ho95*oHÂ%E[=sDT3@ yx{]( JXDd/tݶX^h~5v4Pc݇%3e06N!fw%O3%_Aw 8d^k6iA3Py?Te0)y2 DoafEg4<μ;7 @MMϭjyN?v>ff @q8qk$MK /xnp쩙+6ݵMMxMUvO~iYsVPϓ~"3-揋;3d~p@3)V7l%(gvRwāÈb5 ynPTl , 'K:1gIӠMX"L•W ;3'CL>$=Yd}i9ϐlCԆ1!M~ϛ[uE?5+4t4wהFbͶ7][ )*u;oE9?*JH0հf7*14uRZY+zNr`"R3\-WclcS+ĉ&GВwM ӪΝVH(vڞ"RB%>92mДĂ(\A@m$gc>PVbHAT2g+1TT$9+#Z&%HCn{s4 ?44#UDlYߍ\3^sCis zYc4˼| F#({S>4_{0U~ri"f%@;-=D_N^6ޕ4n bv@[njf;9zb)]H#^V(mE/?9&eq!VXШC(4uJ֒O$v:]<-Bk0nVk=%6? VpoǬ0u`Zִc$DR9uLsN?){'zxtNk+9Kڤ->Σ(Ԉk/Oc1pw2^~? b"[˜zmo:?"1c^Fe֦ ͟PO>rqؙq= q&[C<7UBFҵ_DRLR$Phʶr]"3@a`K2uER(-lKAp%KjzdSc \ xӇ@*ϩi7K$.~~"+z8n+TRW Bhۣ[ár ;8.-yfζ5`Ah5ۿ:b:noճJAn~7L 犆\WBkBaR4;,`Še!{fnlux<ξ&d[Ax^YCjTLBLӫ֎~fM>EYR#|O\+F@5j/7PO뒃uW"F}/=], ,1E-SWyVe߆|ވ&eHFZBz+OAehN)ԫp]ƀ;0,!\F>V,UjBɢS';! ;뜋{6ynETӞc5+È_L*bPzb#߲}9=Te53{[[M1kJZm o a:sDe%,48_qp8r-63܈`, pWwðSj6d"@Bf$sPe/ݜ2r145Nk 65jIo;z` J/ؙƔڷΦ6͌UWq9̵ހa!Nb 6mW}Wޑ/PDl:ԪK@(0@̷yJA{]HYY:gO" O4_KSړ: 0 \S`?]!(nzyt+!&/` ʩa{EcQK 4ă,]!3 `m[.M~G=+4Qz͗HJVgp~r&X&y=Utjtܨe6~ɾ3HUST8*\5ZL.@Db / 2$PD 7Y۴(AT'Ք<e!;C< ôMV53, jz*Kg\Υ$aŜxL )'O=sHas9_ * 7{p|򓇐Ƥ༄Vx]y=UJ1rp*o5oMV7m*0Rm=;D*ܛ;ncy6s@e'7WE7k3^ jV!;WkIUްqv vՌӷ%}x VT+l3/Avl.ϷE#ao Zlmyfi[pA7C-%݀-r*HíҐqlSj~_5PF캉#FE껙U6,Դt! hpu'd7gwr|&}6ﮗK:{Q$#p&Pӝp=UdboP `3!U} u@Fw~08[xcϻGKd1|kڡI5ڋ;y $WtuX\!prEF/_?ʞkbR֬@7'J̧0FpmCRZp (5 tHe#$G> YW JI"ŬKͱI 80#ӾQ*N5WOq DbA vxZjj&ln0ECV'YKXESQ4@jhITRW9١ Y|٧悺Iqi~bGM~jrF<"׫FI:& EQ8 P#6,r2(˓8+` hWx3>.w,.}-WO.~[ o? ^kTIsYw1D-q.oj]Q"tͷHF?Jppcao9 ʼn70pV=InvYG`L>`Mz q, N9+so>R/;`p2pxf[Gܿx))y:qUP4ZUZ;^?XwH[ x\4;N\] (5 _)ȇ!jz%y.6ϳ`@&XZ^*oG&5)d8l.Ꮻ `vS g,Z-ng kLY`"e;qhs#bXkr3`ߕ,8>Y5Md+&w*ahf&5nS䣁x]dǫ^̽!bb߲ۀ%_2DuuFCmW X\x3Z>1Vc8cޠDmi՛mޡ&>Tw ۍaqД6':W=N;̺Ip?z A @3i0ql Ԧ \94҉;\za4`%lIz>YZrr@M)z,!J9T _ :C]y –ƨ6*K\CЉRU]MxW 0")Xm= EtQ$ƺ0[q"p5s׼[ 8z6L@(\NPZ %.F-7ZMnc~kD7歑%w(`ion-e:;>012w?9=QC]ya(\N*YQ .SqskiK%AgF6hPDu{-ggB+0D^ d?,B%z&z [&s41\ňW_Ӝ*ER:u/F;Sqf|(R?B@>^AҨ*6%rsmy%laJT@ᮭHr/@72aM}tJь]E m M |:$Cb@@EIx&@XJ0 }(t=\0^^u*802apvc_ːݢ;N f;WB 9ŝ.G3i?dA`1q͘:HYf>p#~/u%eO^2 x} ~R U"si{ e]&y -xQOD @H_?NjvAY s@{7G%dL#tDulX4qM9 #<_[p^ȥwqa-gҸ+<7Udf3)yJbPV[zay~t'i%5~_oMbns`Tҹ[r&8bKx$ wGrZG)M1Ur.j{W9v9t6fޠ0AÏF3w'Vi0`EuPH`f,G=ېAʚ_pE>t8,9* zW^+h(^ި63gLj2+;QtT+N)0(.͒U ϒ#6vBw$/Wrc$@uW9\BTQ6'{`<6pu4wO (1 _Do[~O(]~lqeTJX4xqz0Ʋqj~X'mI]qD=gSA>kY$[:Op=`8蓺<2|sYo7x/qsҼDq9Ie㫹t`/>H%Bӛ^Bv^aɂn^R:*#$?v1d2ܞU@K>-/0t`hO ej2)G[xiȹv!NGUIPMK[7*K@"_)'*TDeNB 8(k+2hK+ҾUwyr7cy*crV-ݽJ ԇ50p8΅熹/ڹgJWOPBBEnv z 團W,虾6< J}ZY(Po(CMxWxXpxT/O^d/Dqïb4Y #)6DCc"-e5W#~h@۞"6-@~3_":~&q94dil(խo>.pNV9NQ4k<^f6TjPX3|%4@fec ]ol2L̦ԖƭKO٫H̞Ce`?32CASHH$2 i"k[a'' mcfCGeVu>[ }^]&*IۙzdJd l6$p4=+z+n 2444>J^;Jhՠ "3G5DQNcGv K٥-s$%DZ/&홽. "\ms+׫Ndv V$QΗCۓIpk-(tr|xV0Fa_`$8 X3XN"HUh XVF0K*7c-&Ɠ0%6Cq_LWz.ef [Nwy;(;w ]yi.S$'? H/,Mhضp-*yLI; oCVܱs@(Y'O@M94*ʰѶHWo@/U hb!zDëluBΟRg_+Aqw.™]a8H Ak >m{VӖ7{/"@y3h1ȡqi29~J.r]`j_1 z 4Q$KZ!!*TaOFn|$CL=ŮgN9C-0>ڥ*@~.?l&;\=¦!>KH񦥪"%^Hj _3(O^}ZnqF H)┚z/W/3+ b+#;*iܮ]X"#9Syg`_.+D{;銗`#'^2VU^ڳXnK9hSWwf[ӭ,?zoxB[=1ms 13}5rhmP*2{>\NʄmCMb !{G4&MR.?ҬO:WWt^^$S2NaDߘU(*pݽV銃%W7TSdf{|NœԤsYJyrLrb þVP !?,;/+h{^+CG&RB0>pj>%#NzQҳ*8 &.ױ2ԕ#ѯuȟ#-N~HFgiзS>>;r ,r,E=]߈|E sO ECp=*gov[r@ Vt{]Z :C4YNOB%ѥؑ޷Űa|qֶ4YR-QOɦ(0hqZea$9“t n*sLfE~7 sFzUTiw#nC'QlWex) խMm> g `dDb8_RQLÛ,Sη Y?ĭz:zUTB"t{IדzMb ;]<:=],WfSw'Cc8\)PUiGR4 Tw6wLv4B_R>ƫJ-ׇ"^JvpԙNL)v2M}C p: ѡ3<Ŗl~$}koqlogyR;D d&Ơ&CmJiKlq 1QiՍϨթi!\TOv"H(\L HV]S2Nѽ', \f(E8n0:dv/\A$mR$7a "BDkERiba mJZxsʃIQ~2d рlK6.t")3c>-72?F>r+Set~Zma]r5oQq:Q@ C 1Qu7f~)k^~H':- 5~/NCA@~7'߆MT/sfZXYVHodO7v /v),Q [= qLDbBLޝ=׫?"֜ Bid qdfxROg߀=f@"5/0+KfJbuk;P##e86XMIa#mRB"q-$ ú@| KסͼƁNW:xPu<5?{D!],X,Q*Y^ NT]cA %ϻbAc엵uK+ }9NaȌe:v `bºjVȼ8t`jKtSןY7 ܜZ(voЪ/^>3L3U>=0H ?.]W}t`ԫ;G{ χ甽ųgG/*42>q|)1ԧUiE'_q)DEǣ*H "tŠ"[']K[ҺE|亪Τxbm t`"ә 7~G{c@Db\$c8u)D48JܗAPpIK產e & ?(٪1r0kpֿ* fU\0jJO ~w Nn?1~Mh/I(⌋";xzB=c7DC-C$RD3Z{(hfF#X1V yTz]-~ C' ~D!ҪŸ 2eu_[d%O'lPv '3.nDC G~j4B>k;UQ}<,B]:ۋ'+M7ݩގ;j3A0)Y[SτhspC.x1/eڵ2 P!.rI3`%ro>o4m=^w 몽J8)͒*OFMk5nz _ T}vX|pP1#Ys7H' ŢKA,=a(U܏0}.&D,qq:7Ish+M 1vdS*6䫠q^k$@r{dW6S32gJ2k]*EOxOmЅyr B«gӔ!?C2^'㸢H 2M`J ,~]s6#*:Sydv1͘uy/r VRBߘ 8Y}_PQ4Oq4| }Q%uӔj$'ȪVLiF:HI@)/W&D |dSffЈ\*׳e/K#ӎ/AM]@F5~w`aﮀlD(C9WF]ԡÏWޕm̖5`3T37m9 94c'#t;΀.@}BU Nqp;RnA -xv4h5t@޳KT\c9h FZ)/l\ɟL>LEؿƭRvvF e)@W@E>?B~fh.\7t#+E/s^&^dZղ,$򊴄D HXl,\wyheX@@8/dK=xmЮ~0-@!pc2~^?ތ`YsN&8^31sV3e 2Bw'X7_`Nr)  iOC]o @KOy c&K}hj)TJsߦA^A0YN({Pnv(9a[aEmr ]>F653W-F{7}xjnr=O$OE@y ~WCDDEBoc@8"%ef-bHSRmxjljAMm+ߑ=YϹYe V?Er/(O;r\ajINX_jJN?D^vb yӰ[^ьjtf~ HBGJ/W':F]ECmC\?yHC*(Z]&,}\;c3=kU$gs^7(&F$t$b8h¹X:r=z`,NvT<=~VK$w)7gzdZZ\a'`T~dc /t|Vln /=]>jڵ. V7{%Z۲16俷9w>EqXn38zR_5_sƆAcNЫ .N@Ofx_hS`O_Gb D + B>RR-e?xW՘& JFD\ EILgysC@};5565}BhX%ji݂MH[ƸRS? hRQj-)G/?^I4WxKUUba;2dDKQ2?e4F@%<Cu8E$Aآ⍶&ưkR;:}/TNR ??}t/=/AwݷVL瀮8PC= !ڛ6Lį 4^ //T LAK˰ a~'Y419 Kw/j45BjP֥E+w?Wm;GAӕ$9H_D9r?P֖yQՈÓ+paEiΗ v ~]"g!+N.I~ƶ@(5[ vZ14 FR Up B$7BO)5ED8kΘwe-Gߣ+p,C`$@je'&>H ׫ A/S\lLr! 1p# U +@rdE+RFf;jg VJٖy`ob'&vV=b@K-]1XJ| /Q ,ɍ 9\;^< ZvfJ4kJ\gA?bvNZh!a{`7c1)gzbmWRJb%1AFJiFqYj@C bֆ+^_=ڏ t& B@њ1@e"Ш. }2j vw"6WSHA& j[&ɻaV0J0' "4 ci"9t4M^y۸h׈YQUh0B/cȕu(lW0!19Mlpq[@ÀIfrr,WV8Lep'D݊k*w\h^('fWgFGJt~ZJha&U}NIMj#!zf @FѠ<*WB+YEi 0)vz3l-Q.I!e?t=9B[" / ,-2u.cSwp,t(_$ޢw6f9(u_*0QLJbmFD0]qЁ(#YSAGkcqh %T{WbKW8xU֢ 7ٺzUYw>rf#L14IYo^Z3PK];4${\1xTP;~ϱlŧ/Ũk<;y,zH11;TLKH%z m׾Wonؒ<:~{d.ڑ3cD^xy'{}CLgR>- [di$@ŊL"3i0Z;ͫ aq1]lV%c|apr7bv\&s;+ .ȆV2೴H,| CsdpT(@wfRlAa=w,JnݡZWGnōR֖/ 1;5$YWU4PQ@o<g_,kE!jEw@IL5pMCkyU] BaU83 M'|Xf~]]4С{P1;tECl){ACM׿7ku̮^,aj%CDwwO8cf, 0-3D bYY_̚DEdn:=id ۂDD&:mW@ۧr^g=@Ag9sz6Jܑㄍq^PNlq{I~%{]t/@6f٣&˸'z19<'q*)SdWL ^%Hnx ˃j[(,XҴ-R8v wwSVey[ bmr-1j HW5S=t#F b"S1ϔfaub6ַdtt{l pIw^a)%m H$Rz )*Z5yIM[>/Zl:`Ze 21ˆƭ_M 9牑oϚ9rJ,oS.C YaZCaגyc_g!Y۶^]׉6kK|0WY3.yF]2+>)LӕV,\5m|9b@]졲"<™Zcn._DKbߕUjS66w3I)f3V1ꊷv j,Ou=`+gg帆se/::ɚ׷b%<iXXp08i gŒ2B!rOa - u^ȿPs ؄OK#/=:7~Nq5~%XȘnݭت[S'c7d0U€&stO6 "2b7na x+m ^wE$JWWKHDCp:3 X# 9h9-l!6[$qtvͱ@OAH-mnS@Zqm/Dֳ`aY^.{1y2)j&¤,MZ7 qКl|Nz_p8`d}Sf?VI-rwݾyT L`Kә;䇐M(#4 e3Hk=NYB zتS]F&((3!nܢbQ'dbl|kD aQkDVv7G()w"e,.EFgVr9^? #s Rץ k 9$׸]ӭEqt$U;ATobJ1y{Va[;z',tIW?Ub= ^p Hӗ#TPzpj%%R8_`dUsݏp𥄭+̻yjj{\oWH+̳Ȟ8g $cɵ?Gncwئ ;'C+*-Ꮩrw_'sT\]5qRk7VE'&"E[p@$X绕܌KA4-| w"}@Ǖ-VY偩kl"k@+ݩ#N}46;I'wTn+)g?XՆqs5S8 Cظ~ L6c.A"Eyc^05uqQS%M5z)A׽L6&Xa#$:(w>/-mYhtvPs:Ͻ>6) ōܑʫ̸$e_eM`M_ G1d!khyQ'j6KCohyw. l8O{%nPجOtW+INڣ&J;^}Hf{ db+ohȉi* 3 ;uL5qSImY?p:hq%(x`dž341ɼɛ\V1ba0!͜:E2÷FFU` JkQsp'5oJ!# |2dD*`X]%kRiu8JzSQmI"sBsR8;U}?-j:_AL6U/`|2P"Iד;\5L%1mÁ5tkRlx5\8Ҕ#5uz 8ߩaKG稆mtX 6d0s,{zdgN]Tiu%Ky/^+E}©9z {!z'U.0"y^V}]%3to %.~h yRy }UˌZs;Y`c% 'PC@gRu3}m~Ӹ&2F|B;?F==Xgpb[(H]S.$%R+}dn1WL\/9Ԉ@ j=z|]Iomyօg( 6̨+I.~6[/Ap׬^*۲"iJ䪻Z}oOa MR`(sj]]El1xӮ"cK^sj+8Ȫ =e_?, |@^*K[MPO(W9H\ue^8vNz3גEq-~-xԃwX` vr 8-/ 4R > Γ_a?m!O8rtVYk aB.he᳻]EWd4HxoVsI 2ƹr[3|suL'II %/L>4֗SsJ0QҼ?|z |&\ݗ:*= 3zZK#Ca-4r'RAҡv^Xچ䬀ˊ8(ވ*1@Ggxn`{l"10zQʰNw񣦾N%5*pqSJJ}!WC?YLʵ| ƛ`Ty>4z`LKg;؍>Et 䃩No0-X5Um eK8P|4V{RTm<1T(ƽDӊ )ߚV/NIﲽ >-N%?_Hߋ7`M*XHMЦ͢:5[#\. nɵ4c.CR4hfc0gY0R-eEwzO,X1:84vAUZhU\rR\a]$-cu㹜iDT4}9$L\ /z@o/sxqݗWϲf)^LnQV?E=tzoVl@<ί"sgܵMHJ3"D8%\̂<8R ?yB%W/+(nv)`;HLj>x( yh`xè;d*1͙#7y]80tzWV3 bӈS%Wee,a,5|UQI{ų*;UZj'q~M7$7T*@ȳv'dCIw b*~OЌۛ@U]2skUs8/˜b1EJ9!л/ի,h8i`)}CzyʪȀ+h {N"8ٖ]7m޳nUOӱ9CSX+Qe5 4YFp*\UٌtFؼ HJZBÎ0kc-38g6tЕ*a=8n΄Q7ovIE *K^O;i DrZfF6Z84!NM7aQJCӉ|c?˃i0B_5sfJ%#`L 4_i+^>ŖQWd ΐbk٣#>L_(qdlZdF.\w"Akkf00xTTpt\}d$ʾeV!@{iqk+t!qTcBt؇l {Is*~\Zp?;GIbJ؂Z2b)TybZ(h/&fWkz88VDiI\SL~&'\ lC:U3<ֱ=Ec)Zt0 >2 s2ZQ` )EUozn O[uL4xry̱ɴ_O@Su]5oMsˬΎerpbg^c9Io{!d;|Besn7rJ}PKQZkW-JID1h;J.NǮbh%e o,̑֊ɹke X@W;]t~!yJ[>E#A F >OU)UD-)}#(!6` \FtJL;Ht9ԳF۔Sr$/8%1lD+Tw9u'YRh-,_ACv1s(s &{I#6k-P膷˛/g?+猩R P<: &#ksfe|?햋g҅G';}3.R"i88*-b)d2z|SXȭW ؊Y7f6(º5ǣ#p_emn+Bص k>5rE 7R]2 "À j}٦a*FSfۛ&ވ$Hgh9 6?P`x(%LA3M8JrTOm3w,xQv+&Qlߙqܼ^}QW?5jflcx tEyMLnTxb\n2#Q;V}!6AnGX5HKՋ <'%!`ɧMY)烝oT@C2: Iʼn~E1T2ștD쐹C}+6n}2@b<xm8g~$ m-LP-S m Sf8ǃ@ 5+9LM ypϐ(0BtJ'NoVi֦aJ!) "/?Jp,kj@76 o-33Xl}s9+Bjo^$N ~xtn ].r%;ioA;5=N(L{P',k:ne&OIgqP$F}F4RRDeSH05VUgXsc_leE$hYHo}vGVO饱A0ae9[[i5 /G0C5+fs~;Bj]IVBKʹ*H7}MH<ئ|?OrN4bl<@ЅwsV2,G4@qJ#aEb^;n̳f9+/:,dS{i9x_;ϊoe cXpxۛu @/NY)͢NE`iv[?<)Mvq/հCN3xD7rj{PrD{>8):l -gO5 UzR#bY j"$n*QS7fMNɱ9_C,k@yfiLf.ޣke JWfX{5CGw^HW9{rbikq[_2m2b?!Ci{k`/k~±4n150FxŮF%iE#vJ5G58_GjI -1ҙcCqA (`Ґt̽!.pcC4vIiX5M¦89J-u~xGb>oHک"!6n}t:.$RNB}-gp ؈<*Luodŝw*/ILh!ThcoF-CN٫ $V$A!\yqfE:,#>GcyWSY7I b_S]Kji` uNidٚ7yMS^P۴ eC6|(R>0BZ$MHf*ls63pmjH% Ũ\gZu76mZwm6ߙl9 :qrmܒR_1s<Y_=وOFˊN$2O 6ơ5v<Ǿ@qؓAP9 h6MGY`xK`Cfė{O'Q:2P~ԍXú+8 Y,a"'񁻳Rciu %CwB{ʚwHC㬔Do-(/%p_K4|RΏj9.J4;?`R>";@1X+Rs3 06bBAg1p#Za:]d_&k@)ݜ0NEpӏzDN^9]Qk]Ϣ^w뱡mvkcM bbE;+~O/oT,ׅsZa1'粹ށaV U֋OinTb1t3'y?Y),tDB0%F|{)cQԍg/"YmFqХV$]ToG0_RۣtlO!,nُvo;ǐ 14v}zy]+dwgc)$ С8۱ .tc-˶VIu>CopNHxGaP18U pH.l :ɟ=՗p/8jsŹI]⍎Y so<]vȒ(akr@ʼn+tY܀HcYr|r mx 4 7]`/okߗ&!2m)ںJ9!C:NJ^8dRvuG~AM=}?KdQ q9 fJt}YC*r*5e;*HƤ{}!=Ѵ&Y͝^l` 7ۈ,mr݅ HN)\LuiKk-XK*絩 y/]yS"5ŬNr-Ze"lŶDx|. iuW"Kg`UoOnՃҴv&=B+_H@p&gs/[ u<"T9qyŊ̆ e=Kts${c Mּl]thbPT6KM9S:Jh권,xnD+մ=NTmJ,L (\C$r0c՚J0;,z"W;s=Ba[SrN،sބǰ<]8'_y)'*>ab~RYf  aЗz _8F1$P8$YE:剁u;H]N4lTIĊ;+>s"2 LSǤ޷lw/6kw%L 5` 7hߝJ^M_zoS#wݣ!l0nXh4-&5)ח(gT}xx|fwq!q^2`OTpc.\NH uS̒ىe#,[D4'@6o0a+2f5_$*@B}䇸iDݟiVQ p WbK4~9E%e]aרNnV6W98(W9j0`WR469<0K:zS")`t"C@gS( `y{-sfbm|_X+*atq>oq*&p|c. g񊹵jm< U+`ƊBlXkOx ~18vrpASuF|T ,#|ܛ =T(lk$; >U@\pB6=$A7/;0Mk-4j] GʪCfNZn\HofvSw+՘ s+/4I~uͲs^1uʖ|6LB ̿SQzE2we?Ш5+ƈKSL{+C4(_vSgx3 9-pɘtKI&o'G- gxV)-sTBp T4LֳDf#; *)CZA܄Ɲʼn~ GRn0zn{aLo爑u4*CAR> 0?EIahR$kI@rƃ kՇڞ^}눚F鉚Eؒ1`B$V.E毦3"\Ո,7j:qK|"<5/Avn ~$*#w0`@5,`l\~9\[a]ckew^9U)% ǣ3uo… ȜF?E3`0~#F28doCgY'x|v_%bh`XtK %nSL͏ohj),_,* z}ULF1lis+-G B /BH-ALﭨqO ]"lh=|^j3]̓U6E<)|ODh x"iν{\@)F-[J1[~S9Jp۝4V:SZGylc 3r/ܲi۟z*ُz +BUsd攚! :jD}jzh9&DT(<=T_Kf7-8cnJ铯pNgweS5LQX )f{|Xx*/)TU)W4D 1B\&v9N _'a+S,'k}8V,iX5{l|൚S6Kv ["ûA9I븾o Q$T^!?2U*R_gQQ02`$X 41huhǗ&_Ǯg ~ٯSY vn)yp}h߅+ eV % jH{e]iJXc ^$ Kٱ䕟 LL$W^=L%xg ܕގid_8G<>'TOtoADNC/s+d.6 ݆>U8?h)U{7 bG>jڜ&NcJ=02XBٕ֔>?/\=⛠~׌}M^ QMv ֙jCMԀC#jo튱Q9nQe% n9k0EY}h]~3 #V+ᅨm̵*"VVםj1B맸W]P)_Da+^7w-AC,A+68L[c=c3΅qAM% )gm{PKS$`3g5o ,coZ.qy)g4 ;rP՗륵Oj H1҆k l5F6( rVH[ǜHm!cK'Vq. t^CmjV q"Nce=}=Ux= ^[ӨO@ܛ`n Iܘ#&f[bu8N:Թ'# +ݔ0 #yׅ:J۾D%ӎ]T>v!s_ihk4\D;:4/!d%FE:iEVՠJce̹ B8*$ESV_ IE gR1=~w϶ Mѣh2QJ ۝;lb[|mOVĈd bmkqF)o:Du14 /y4P@tBs+g]o0zpr[P󾡎$q}:/LW'*/z75g 늶QfD'=x@Ep@I~vQ" tS3B//0ZyPK/ 8KX@I->IlҼ3ys2gȠt_}* ~3~<Uߚ)%I[gw ļš.gh,$laښ. 4k+` v-% 6"Pe6FfۖNxBpΐ' .~ B.힨@x @=8 |O5?ޚB2!]$S1.>#h/{O T_^ MhLhơ)Я\ղ2;D0qM(ntk-C/C֮)G;os>noc@ r7KW8=nS*-h8;Cu&y&;av][x. /ڼJ[`#Z|j: =1;<2^߂1`[,JwI-_/3T3R#<9(r>v-QxW-òX7: L %_zb"sx!njnЦ;\רJgWʫ78TGmjhikdG}j~b`)9!|;`ȿ<j'U5Ȣ$+sD@&нQAJ7J chRA^l[mOEtԭ0chJ{ E]JQ/;8/N@rnӊNhAx*ώ=21*NGw'M~FD8}4 ~e3aY$s ![+M.hdFۚ fاsxڕn3Sl YFW@91n0Q%0KG=<Ѫ3 x:e\{`X hY8ZTN\EǡaƓ9B1'tӤ߿f ŗL{yKy`P3MzFecZv̦aSDXa@ X}SSmx2J^BrmMԸy"p9*PN8~n2'|֦gBL/{Ilmr7è_sn?3H7 F ma%^oq,~)06iE=u%oI- Zai*(<8\ $}*1IJcO}Z2=7*mVJ,Gh$pBVB{U.#]:upݚ&LL밈jzlГ *}XxGL31]CM6MW`xW%3V ΁LZznTy"sr6N\`yG;~₈.-T?.iRu$A[JAѐM*J), Iڿ9Y'N%f}[&O ̤*,_DK88Q4uW!picݧ`ddΖTb^S,ϙ-N\MWԋ1}׏KXXD~6vlL"4& >y/~Ӝg-d}fkknr=iC%^?+R }Š@w?oRN;m3rWIs'9Qle$u*GtDlE^+._$߻>|!5,M*IM*:ڹn2Z Vv`HEv4 ޻lFc7V/q}CxL9Dict[: ;6fK~CKi$%#m]--n龝V}|MnoJtL&[yyd:rm`'}Rxa+q( a r!9i`@ћſ{5@ߵv+"7!}74uYLS+Jd3ʗ L`]~,z3ۤyӽ.p w!nO*JH)PBi%<_I ZXOIMx2@Y[ P`lP 6m̖"$~/՝tC1~04/YGcE䢔.9`>hÃQd50v+uk<蟘q!vC'J'= ?kM8p(SK<4Jf#.B'<46b/1#T||y:Yv]CQ>Ą\%YLA[xUE"C$4q!$:&%p-E] :`ao6[Y A{w`T xvX FIܷΆB 0 Z)G0(~(ևzp\!Rn5%޸J8jڄr >3@޴1F g7N':JcbמNǟ節& ;w0N]$2:S U~IhГ?}+;RppjvK1 "c{PszֶSF"wb]T̝R]7xں H{`=BAf/z6['ό@Kڙ7s_j#ZAo`!YZExnp7K؜g`f$bv$X>/N:FIN5T)i p2z_`2q0W*Ɠfj$tS(RƥʲP^*s,MvR-xjJ0I.ٚ,Bj45aˆ',ׇέ@~mGIWb ~][$hN=*#;*=㦅"Ku Lں;Ӿ@ n٠5rn&8$cb;]ZQ{HϬfJYΩL4k2xΧ|+m]˧rayb :ZFV|Dg{_]L6Ʃr.)mBXpL֝Os@`BPYg us&twxj #Rҋ#nZVCT^ѽu/ዕ46+?"q.`?沙+Q2&Բbzx/{^o8z!FXf'@Doxu^D #[}ݏtd֬4-c愞"# 7 io25D);E?4V!=2*> W➤vG8h UY zٙ38+56v9?P'xDp"Phb榒z8cwδ}bp@]yv/Y2ܮ -/n/0j*Hi}kV+9R9-(DkV~oSS*hȗ3V& 4:2% bRr]]"FgRҳREdبtP9u ;U0[~zsbOy ҖX4fލ$;ߎoru\6o9ΘơEw{ǩd8 Sώ!=TreGt^a{9_֠q9it:CS^e8z!@ռ@=Ԟ88UP?c.',88fhLYBP1m*Q5錮AMZu%&g؊4| q EѣV({tŢ} s${old$&_Ѿ}1bl!c+iùWF3b򭼄X V=Xh ng v9`N%ԡ/ֺ|6KX;kν 4%3 4D $_~>ї$ltx|e)( xLlƜ K~B[%ϸ X {%fۈ6u`]xNnJql`UeM<e=z yT6*U^HQku[G3o"^#yaȰhxvf ŸI/fGژ3Z3՟XᜌfD{EY߲l4R.jMm+Gqy;YJS] ܄Z<@v0d4y :5{l#q]vz3L15 y1 Nٸ*?Ã&'SuTG`%0j,089V *rI-lb N|o.&hآM;r!gPxVvBQ--h9/c'Vߑ1şo\uwVŔE˾z?We$;^oyhP/\1Hp*.Xҗic&9e>{:4goJEu*Ǖq|h4K貇Շ"uwY~J?ɟl6MyAhڡD@|1xWre(IЯ-cV)x/ #oi~y Bgx \7tl%g] @5"~BȴR8)c; 0guN.] Jn.x33&|Oҥӟ1oXj3UN9ƾ/10IE}",<*9M5׾w%#˰bzɍMУ h&%ߏ okt<0+ջo&=48;!7y/ b80m+wb ҘEj)囜9\,N @XGRO=o2m46\tYn S* fTc'YzkAE{2%30i wY]8,T/ `o'\gev4̾y)7N>z,y=뵅CзLkжcдá"l3uA8l@.g}WAא u<afg-vh́83j >(9U@-ZN2eH3S6zxiJrf .~A_K>4;_޹wz{b94H wGKz)W, 8B}t&ź6iɪeAT_5']HʣCOyu'i'wT붍D1Q-R ]Z*'|wWwRZ޸fhwxҶ{FgZ)I>K1ӒkÌdBgq+.KvA>e*&k;QIc/du)!ű[A|~R:jbLz0"jww|w},YϰIc5f;}}4}【}T7V/ ֍k[ldXTx|khDŽ3?t6]9n8 GZ׌|{cxKQ˥§mPfpObXΟpnX sGJ]U^|K0X%h1eɿ|#g1 b2?U}[]iI*hÔU'~Mp<{AN} -)m⩯QPiFaU6fķbQP}>H܅Vڍ֕9[q<5x{ȶe*Y $'5Op0%/blk43CEl/feY}lKA9Vc^TXazGߏ^{蝏0•..=ԏw(AH6BkJRPtˌ!Ik߸\ءTw Xt;V7C[\Ɍ5$'Ck!} Ľ l,@eR6w[4^`KGD1|gbpTC'[|(Y-*1䞁r0Ͳѐdm8;uut Bg{wPbn Ģ| QۍbjJfvZFL#UD* iiF2xF/U<1G` _pȈwcjDmi.Ï="=e ,r&$?H椙=˩Y+-g!۠FxUr\_*G';HsL݁bvTU9⎨Ŏ80pݿnIz/o|q[1P`<1ʗYj,##׋X$$^Vcd5ZV*|WxHa$<5H__+D A1y}ڢٿGQ\xl}+gqjк{ˌ9_LM`tL71\R}5PWlz9 ?6&01I~u o͂;<(q=>C}K70ӑ`WlT;G7 6ψ`T)~6I(_ ®zVfy^0a,<6᫅K2,b|(7ВP66֙]iI"Ka;*D+xޏctf cw$Tt'KR4Bso|WHYQp#;4ѲEt/?= {-wنɥ?\10RJ\8ݍ&njr&38(,Ekkb)&v٫V'K3fhk[` _FCCVkj\ݫ4^'p91 HI+/֡[+p(1O}qB_U^`ۗ\E&A| ."d ~ O]Tk(`r lv@7v`:[ZFX8ͦDW5,8Yν#!OJ $A>W~^žIS}W{ݬ h4/j։ &Qbqr$BI_9[} )SD5=ɒ7Ӳ wB]z W(Li^vE\k+ vAOFDgP.m-RMӅ-E;Ӗlmsu@W!`\͖a>_k~,R5{TcCgπʚ]ϓһZiصTcpHLf{h)>A-6@e8۞E' e &8<r)^U(Y⍒!8U:zZ$lE=AB3WQw}opBo+nx]u7+we bjp|ޒ u8 M:Lԯ[!|jY$[9%_Ih}M g]9/B,g2կ,+eHkhlßd&A z5|Q.Ud4px=K@QfGV] %T\uh1?ՠ\o|G4"7􋣉?e݀<\ ˻+ʯ/X؈4z3>3Rbo1d!yI(!ݭ+0tL_>D,x";dk_O J}Evՠ ::GL$E9)DּJȥm#YLk"b.v\" )}*S`s?@3ȁ,-Em2$S$&2f҆? Tq8uGp&S/Rx&};` "SQ(R~qeS&h Yix"u^j0QIɦg'MҦ2{  ---*d pbō%Һ$gM#Vg6MW p$0!=⧞h־Z4UGzlS#}x(;/c!bE.B{&YZDHNj&u0'x+zfp9>Ѱ;S]ءJNp[n:IM_F.*ͼ4 ']`d_MUO-LyQ 8OTeKԥG%shc>R՘ڇ901t"_u 13e[%[Л~y @١|c,6 Wc6UPT4klz&yOTٌS"!Kgۿuw5H`8aKTAIݓ.D1%@Ug?$b^#ŷq [Y z*B{o)Iu1Smµ`LsdY%[H)!nK_M{,GRd|6Du\\p YW1 ,y J(SHv8l[?,i˰۬Uz_8Yc3o|4Jl *뮨ј VjtK.cp 8Z*a+*ќR|QSS@M5e=7v:Yy؞E($MZ{PO Ty,[R36)G  D~{Q艱R6k|\д9 6 /k2B4fŗ->,4(?:9Yh ߯Y]:xf)Xl9d?6E cjfEAjUI%_`+P7vR, 'HP/;_jgAq-kyu}P2HcűHv#n/1UUV[4L1@MrE& f\Lx|9s ;uVf ڍ5rïHFaʝzhy6^e:#s!N/zrh[NKʣ6g< ,z@>*dTN} 5 `{vLnB ⵑ掘\R jnpvW|q%9E!T3cu"aQ s\S/Q6TJK7HqC]>\0]T2IlLG}9#Y+YU kHOM'I 8Cdt* ӟ[SW~ya]Wз8[$3+ص[irifF9㲚ʔTz^ˈ jW̷<5Ӎ1mjҒuÛ$PGʛL lz ER{ xFF_mg\kj׃XԇX ĩ1DB"4$(!k,Z>f]ݫ* ߃ 8 *jUU0L0@m9y0]V$=x eY=cz89LM2Tg $겓A\@٪Кo@ qiL: "z|vߒ$:qWĨV-x2c6O2NTA鼓# Ηi=qsrPST4`UBR֭p`ͧUiSWXJ)%ZO*d9w.#R8"gE_w[ nQXw eB& <.poHҠf/ʒk#oQ/Zg?8ԇ9--CZ) ?#6EDc/yѧ BjLJ6AzE|{IY7#R!qUǵg($HN-Q3pj3Kq>BxX%eqwɒUD[ zO%<&Hx)I{5h?yB)[>e}2圔DPֽÔ8҉f$x:m ra $A{W)fNjɅrgXas\$l+LM]AI5D^qR3:7I88e:avQfV.œOd$a[?l:9S_B^gm>puڡz*(yuŴ?mX'BK5*ZJJQ_#V2N/y͛T7nȶ֣_v=Jy((\ KSDU/.n*kw/2U%{FP_0SB]l-D̓Ƴ1 ra Ѐ(OsAt'2.{q؝g'bA ߡ0 :s-Ktk42l᪞ڿcxH-2ߤt^moqa},M^ u#Fed`ږnT+M?>hszu2c~$9$rT՛SC%2i'e@KOQ8(2sm]G ~Ǣ2] {W%F>ܙ2` Sor`2at\ny{Fz<.:@baT{"=iAg&z6ý} MJ\C#U>(~VZ?WqX׭A#3rl鱹:Q47|Z$Vļ"ZDQUj?T{ +ztR$ZԏLqLvPxEp{6/>WcW42VBȀȌΩr5PX Džl L]tBG2}kcCbS(t䲊C aKKXG؟S@BPљr{y>+Ϡ5 PA Q1b 8gQPjXJ5>G%& BƦ~^/ g S:坝Q7^R( Ќwo-:9#!O֦ ؛ e"5nt%25`-"ikYC%6l5<( :-0596iGax abUQ{0(qysզijyo~lzG7*^t# {z/X-iqٶ3W>v2hh`IB7F *el3[vj7BQaYQ9y+0a&<.NJf[60z%ɜX]f ch tJKʜQ`6nU:˄}UsnlrOk"$\h%x=6f7G49*Zja1gV*5N=tZV3%tlbsl,` sd֩,};, ѳZØ Ϩo鈛!# p%ߣO2YBмq0^CB UAvUV>nt*X{n ENY8LTAfڜ'zLney+/eF}݄"Exa[s:UcN x m bpZ tMj M7J;Y}q[(z3"tIOl@K B3@ˍ}{v2G$jH_ugvWE/Օ -`@&61*DVLyX%Ў17אk+gxKx1RFZu~d ۹$H"z`rhTL=9Jظl>{$ j_xO FD%:[;ҿXK JjhʕI#yEi%_`vPLs𱃗ݒ{q.Md\jzjI9%Wf ?M2VڼRiH$'A~x:nO$EU Ծ>$Mo%Djf:~;RV0In8Ɨ,/ChuEFU8^ÝZdaEzuW xm]Tf[@|9Λ"2E )b&喜Bo/7 1;ك^o|*<5Meu*=>똱r@y؞t$p?HӊG2ns̃QܵN7 y EsBUݔ krF,2NfCuczGq޴gCUV.רFvCR+/8CK@#'+OQ!%)Qmng 6^MMIN~SaAJYb:HD Q»XK=v=s0_B$Z3 ZԖpȎ  }E~?Ns0'ҧ]TGzM7BΈfݐM(㚼-9B}{ ꔤ6=S!RDdı_BL-oqH~Řic_r*+ƒS"?iH; j:x:F85_=_[@T\ᗼXo{Mgͬ2BS<[ '1`K*Z#)"Jts6WsJ: f *W[)G@W EPOnLB YPw(R>'8$4B& ;c$I&e u !5'yHS'QaZ6ƐvҥzwR Zﻚ?5Ի$f_F Dր]Hʣy.†\,鴿Tl7F _9k%HΚ¬1fsC`2hVUƇc'x{^8+:173 :[4\C0הz㙢ݵ NPQ6?C_o.\Z:Rlf+Lk%)IOyGtU?6# 'loskx}GnaڑQu0-ء;X/}!q>C ~{^[2mlƪ-_sϡ7'1|rzˠ>{(!;@B h:3[ :B&٠^v@иXk;ˢqg)iYhozMX2.&Duڀ1ER]a/8~Wn×s&)sY'=H4>4S *4px.Zq<8NHTZupSyp/{ (Jg'L]$UX9 lsUcjb"p%5_Z1;e JTvKKwaν _Nxp۾ʈ]SMv9wVQHZ SGz4H8%˖H;L??ǽltBsj!?M5y. ؿ×A{֜4>rt%ua\؈0BxBEJݶlvf- l@{gAБO6md&8BqY1fJaw[V&xk8*x5#_[jIHmPh2mFsCwʭLVaQvMaj2I 8Diz#vX3PK*&鿹}"?}8' VyO:˨c=Z޷Yjyܙ#ͺKg~ŵx*90U [Q ,T)i2"WQ~éO_-hfjbD^ LGzT(B54sEu-!Fl&%cUEѰrcGP8*K5+%8=b07 O GC/ElNGҍ-[pNZyʑ|PlJ>p"-'g cUg>YğpeKeP4conqq6nyOf@b@`!dMj8=VsօB|0 VbVPg8mKV~عXkewsD)$pot FA.325R-hBƜ!W F[LtV'Y೨x°X6f8GD*[N󱷖*fkc!bT#e eo#9:VJ_39 `;AW{'S`g^W3>l K\|CtdcY XU%p2Y?U>ޟnJ3z6V(,!E[j;_UЦkzȇ^t-snl8 B+aJZ 2i7=TD3H5j9:d4x #j# $GO[l 1ʵI=iDt g O韆ul`RNC 1%wobwElBҿ+<Zl6CQjݥNV<\i,\09DاʺG/Q^f!]nLkV2Waz@,î}rw-v}%6DWIL?kYC@D\bLI*F\rC`ѳ8DW;AKCQA xƝCxtc#f#6[>X.[/9-FX/x0 t̉} =B@p)p7Dq<ꄸÿGnkqì({FwC/7CTzä-ɈrޓV~At.H DeQj]zMa[t1Բ*䒵K`:_)O߶%BꣀqODJ6wlo{I#I9;-hv=pL}#B<p@ʗmT7bͣD LJpҜXWw)Nܟf/8W@6|i#/t~#@>[kj$Νb6_V?0Z0k?Z3m7ݣWP.Ww>ddvSQۖH:)4tLYa[oLn%}At)ډ++Y1U=7N1?L$YEyCLL>kjjÛ֧Ƞ:ʹ~X QWYUO+Kiw,9k%P; .U )sj0tġ8Ż6o Fmd:CR>״E{#?Fȹ'pN}Wz[>Vp=űRM@LAP9v?g=4leaf.ܴm|P]& E=m'Kb.#DX-7_{%aö(9c F@-.Öq} xS%gCo%BE‚"/Pg1^%U儩 sBu0+ ȯM|쎉:b˽c+BHaw@ *3l`Vxls.*1n 8F]/smGnͩnźBهOp9\܌(M~xZĘXA6(5+&a׋,&ߠpVavxNߴ.6G2^+WFPʁdV84~}ya(c!j7_,m|FbJ"E1S6Oh QE''g^!/'6+~[L vEYz҅"I{ dII捋4kǐJӫ^+N9\`vyKօٴȁ/2pm  i{N+xZ 23Ķ-|u [|WWbm͊#*زdLrzmdj7+[t]iͪYp@y]eay[i\Vl'p A#l~i$g +-% z8 5xK0"Kj6~ПfuXL봹J *Ũ$Ky@lcQ6z+qNSNҴͭI w(8kn kW=21rTx*#*q 8&{q˶/g_*'k퀩cبsV\fsBy"/v; |H-CbҔV}vْΖm^YSۧ>'gZ⼉ H+q,7w )ƑѶUKm+6⋥$׭0NW(;Z#XQdL3.ku 0y +TȼoT i0e%R{{ײ/tA]ϱSxtDIO~Ip`*B\*υCa-8q'3O?ΡN= @e%(8>*ٔwfK}Mz~p q Zdr{w?KGR2wY0s訢JCΒׅ4Y.]H<ƃ@%YGQYqle`$҄!zXjB€Ww-e̲ʵ(tm+U3[`$ 4/5m6~gj-yg݅)-G W:5}[=SS?8n쇿{q"=cl|fԷ<Fk6o|d8~Iq$ljlF)ш| G1&Q/uzQG|~hƨOR'|N% qW{ˉE %)Ҽw!HJGe}@o*2i, ndr yÚrXbp.t mY$l\89祹?VpJ4n1M%UF gss!/Yo$}Bv$]-`u~!q"`Bݍ%@t{~):pr<$ cG8Sȏl1lgh2j2_(9>0nl_E1CJi4juˆ1R]+,ho<0"jtz? -1W.%m r!fh"ͷoIW>(eJ8i7RL(i.QTm,En3^XQHx *7cde)j%҃$k!|ɓ(7&dGKV}~ST$W B\7W$Ohs@8/X[z!Vmwf5Ia"m)5IbC/bEP2Y'@L_%5IVyձܯ% 3u4ߓދ ZӢ"q6o_ƲINCaZGOT`#mBvg<[~#31\g!Ce|$DdK^`BȤ{ Ȭ9(J~ODQz[A+ G_: [N)7x(l3{Kχ UDG;M [, |;˰ɷ$V@"jsj{VZQ;\{3" L%>Êڸ4봔(;sᅽ&яu@7"Ex eSȡ/i'Gc-=-+[sCu^@;S|d!|Lȸ 쟑?cŽ-mb,Ves='utgy e?]HAzЦgzM ٹ>{y`46 b 1vcm/H)32C;i^jDs-'4G_^#RK+, R}H#t#)ba +TۧvoO 2s^>'f9: )2iCqhxm(F n#@"nEA7vh!Lh-̷|cIO3ˆVW)f[ARgMhdDeR^jQrf~wO1̧i8Z7r ^L@RN?f岘T4.x)[Ҋ oѪ% {c-QoAO*=&U25?+NmOܘa!*yjK]t2wJp@[+&1p u{LP>f ɶDD'#žR^1?/DւQ_A{`GK-B .JL%3~XaGhzDkj-x}ugcV Mi4`l/=Ft9kռU7Up ^՗Ty@X #,ܻ!=yJ ctx9\DֶsE.(~5Ym&)$C3{*pl5AeO. s!S-:w'2V`1+"O1r@8~q"9Uj֦omuˍpf%s󔇊V#/ZFwУ\S4"tٯd+:ĖŘ0>,'Cp8btYWInVޅ!E;nOG\G^|Rαʃ߀E +}6kIL É'윛'q0~3!wqH608/b5x3% L&2N=ѣXceESڥx*&< >gWV~ Q`jD?\]&9E{ecb댿Gpqtҗ]~^mƝ1!)^R6QV}u J)Q~D}|S Q' fem2w_?"b ~{"w!GWWy׳\QYJ E_ZLTD"π6T89pl4k⫨&.ʦpA2f|omu#H:--Pbw\FaQ㕜\vBǛ`A6׬ļUZޥ~=Vdqtq,ӛD1Rz|džDgech!jM˾[6Qӕ6;~?Zg&é^c_ T*Q&>p3+W"dR;]mS#m<  H-!G#|6u=Ksj>P"2G Л7": ޖcKAVIډS@B7~$/?hQ-))=Gad7q셝YL'x؃ zKt~~Q7$fs/izO鮳_5q^p +fֿ]m&X[f,\:M8f3IsEj:N9yW0eU=!=#M JFm)eWabXWwcy~NhOXX=Ѝ?=s_bgkU~՘KZ2 ^;b`/m Fl,y cѾ UndP{5b n^j~C|6рl0i#}9:B=x궗7Ґ='>X']gƢ֡be3}tl󣁇/j ;I7젒BmkK Q"l&Fꅷ΀i=K&`lƑ)dm2 Nke u,IiM ydE6)x~}k~G2&#_j zh",}cz>dMl)J>xʑ \٩PpW:fK3 .%\x=XI~LYCEQ @UKɬo<8ޯ.l=+5`RE9؃ `Uhf]m?\A`ۇ7OCu(./sWGMqdk]НB8G@M(e fX!HMVkKVπdĶz9)TIqH+,7BMDmBf/ߩk럖 _{>!N5X*/@1]~[I@B]&UȵQ B91tE%7N{MleuLԶ( Կc) X.o7;-Z4h-LM$Ɍ" Z\FQƎŃ3#cj/:]G/ T5Ӯ/4=-:_PUn+w<,xcoSKFo Aɺ_ȥ=_VfWX<̄YlB^a:5s8r\V<7n&iM;:`h[)2ʯr )D{' w9w,6eV8~(/+Nn%UT+3 B Lab ɚr+T-luC2CiȢ /t. 3|vQs%PW;(ÖDIQ|b !gȀj!—´Fx}do8edHjr4Oh-ačga5N}^Q5ɡ˚c*jm 0ot]IbIfiLSØHNeGQ]y4\X,-i+FʜC͞a{8]:û7ڻ{kTn2Pu+ėܻP{R `q$܍>iIio=e"wq|͛3W,:sP(3H5;UFXշU+tԣ~{"GإvO).Y.1FM\%Zg(sǭ}D"So'-CσA3TixȃxNv)oOh9;ghVNdae BuXmHtMW0ӊSz I!ʬFZ LSxO}QD^6CD)N ߋruyB>qR?Ѩmup̽E%+J#-pA4(td&?GA?K+͋mSO5 kJǞ+mFbZ>"gF`a 4zc\9'>nmyPXN9D+GBcWIw +aq0VQ:yPS*JAUMv{0p Mcy +`_lH:/]7AxGCT,#NR&#R-oߙ]ظqMXc!2lM|Ih\Ά0umŅ_fC#E,_1ia]'m\^ՔyD5.mdݔro( ~ OvZkgE GOmZ {L wYЄt~=l(h[I"#M'V )7 0e*k㛈҄i7ePkyciI0eˡFؾZĂ-OzD DLZ~,GB7~suiG,A ^ɲ.gWK8l~2SEA)}=I;dkj$-QEރ,CCKvv<ʰ=/R$?8:6ib*#v1 % X|)M&]din4F25[A ivZsPBH\5kNwTxr1 R)k.49nWA$S!FTڠ;c[ F<0/ $O.7[ʐ+VTM//P֖!@(MV:sy/nP S ܭQSȁ"*Q=7?mI#3!JiIw0+h.C%&#/LC2'Ei.=X\^j5lROar% I8>Efя **h V(IQLX?<+!&+_MӔ=cּ<0EI; ' "RݺgH[B^NEeg^`%@З.zEm_Cv׽NtM9dɖ6?;@ykP+h앥Z5[Gkx@􈰆:{J]oqr~Hl -$`/mtUTWi?`-c, ɷ&׭4g:gKx NrYIW|Rhl$I#gLڧRjSd٪1**ݐ7R쒂Bm:R[AVD(W-Hnbc\MFe;^[1?/vk 3T$1ˆ  k OӶÑ-Kԗ}1^wc-{Sɐ.]+`{HqW3O)Ͷ*uWrvm]g}2у=ɽ/\dux#]ޖ~zM9_;fБ~]/s 6֑a@4 LZ3{B.6~zsҭO/.ORམdf*B%jѫAq`nc}[oƣcɯ%#p%RAڍ A4V>vϿӱWA,٭rH.(`20z[ñzOgS{yۜ\Clqhtl% <@g2WL^0礪HUOvH1pa'lDPRjOK.֬WXhF.WCd0s[nhT!ǷJ+[ZCxYE'Mz,``59Q.+n|g8sܨ[F%{7sꍪ#|)t'hbj2jn. EP T/h-;tmgEȃ^oS"9"ZfMlwsrvF;4 +v` cCVIϹ7'rlv*u-f ~Z蟫io}J[4(X0_^,ؑ#ɠQ `K# J1I빶@02L` աYP5vw#hD/t|-ѰG8VWH)QeBoZ+f)q ص бʈvn$BwlGStLѤH/ *cĨ8K&ނ(odqSZ ciOdL dUJiL3W8b׺[`[Hc%q"ٲ pY !W+95x}q&|˻Wt1#;'uxP 0~i}̡=Yޱ9=+#Z'S7( &.&vz Yӣ"M~A2O?<"_!̥D1'~TYt-8Q!So4/Ȭ7|Nh%#ٹ'UJ0 {Z }{b\@>n&}i3o+wt/Z >Y{mN]@HGy 2ڀnQ\J?E;sJ1WUsg8 zEDn<Ûct@1;|#B+LJPqA|GnU2Kh,+ ÔͺN`D/BG7-NGO><ܠ"CUM/Ew)1с+H!&܀b<8.>m]n{F'0z)DR_U0Qf0*4(g~I3S>Q?am&$ k:vQR dk'Igg@p`kؤ:3"D} 轁%[OZ 0,׆Bෘb m-ҋ"vԗ׌ep̈́Ԝ4ɭ jA?jf\N'] xoFcIdԧRLr9Bf`zU&wú`q&IKs<dS$@🆈7Doa1I@&°:ԓi>N;ICnY6l0u'c:x`dlaF'[ &]X3dR C7X{(h=1gh;' -N"CnQyanN$ dMA~pDlm*y񢙧A7%erMRDc%-t5@V** [j<gA!>|q}G8lGHFug -`өw`^ lS\c1le'62{%ڕĈ/Bc:s #yoH^S&߼CQ^A; pʘ+1>"MWF+ej1JH]}(kFtk0^J:-]oj(wtSZQTI]/edHzh Gռ7VJi,GudnD) LpK+&f}sY\Fsӕ޻ߛ JD?/8k8>}xhJzzeziK'm[R!uzD Ck~zw)%2Ywf&.%]#.M_Jb,vuN`q-nH.T_-Oczjmލ< f0=x 6 ]`OKpQ?c@*J<\G`oi큗&x= Ϭx49k"8#5!x\lKrӤIS]k84'޶<_6<-埚I3O^#Z,;gT$(Q<%-? ]zZKjxqnA; : C}|2DijttϻwIY`bGS/0Z5ًRAv1S&9\?eihb+wXH/SkOf_jʪeCQzi{Lѵv(ƻ ŦG2icn\A"ei}bUN4^)IaH [0"Fyeg̡+EX5R@7Ҙ<(ѕCYݶ<ɹwk}wݪV % &)'ܘLNn(TmJ$OmR]5OOT#Rص CUv;~b<9cnT\8$̔ғYwL0` <TDCq=lm\<~]cNP/^^H'hQo)_W5N廈|੸\""|9kæ54?AqُiQAd$'mma׵&\8b?ӯ^ :ˎ1KܚѾFЦ@ *m0tΑZ&EQ<>Czn+wg-rڌVM2Fp% eD4pq 3 &]*w#zdS6J_ Д`+OXkgP+󀳏#E|)?DQJuq7H[gc]ƴzF P@mLX=$KhMQ9K?n[ #l|U2덈"JT,z<-sLEr#&.gbS Fĭ{-TLpF'V%1t,lRiq(sDIϥͫ$NM9>X)ג}O긜"տԄ<ČбpM Sc"duwc07ʘ|(n+҆~[?puN^:nkgYo﹣ye[-~_pGrt~ Pppu+sBrzNi1K+HhSdV 뎃w瞵/ `l #rjBfdh x^pgD S?ħL/e?Չ1s7؋ѣ hO63jَ{c_jOWRVݣ|z?( ś.A֕mxׂ5O;K{JlzP&L%?,۩ xFAiR <רNc6y]ih*,ܯrw"E#Z~P~a|]rFx|h;W/[܁?|( Ϣ5ڰ6$֕"I o&VFW"]UIT DOM K4Ivl':HjnJMGr)6) 7Բm$\Jzi2E]..:,\1{y9YhWGn| xLu&e R 4VP^t,Zi w"Lvpsx+p慓 kTl?P:ԑGs<+;풠2)tSTZpj҉DYL,CX Ҁe7zN>8AwļrC'\w!ee{+z菫@8u"lǵTpЦ30ץҦY;fQ3Z0a0j׺'mE{iI$jT?f #?*|{*J[o Ɏ6QMJV.leg<~IF[ ǝE:3. F+BCl3mBo4E~?s2qTg_G/_q>wÏz XX[&yXuP-Q^,5L_;O-;.}?薆nȂ18+(+,ycH~yl'IAtV$] >SRS7Tv|50''Y?i\lDE(7gG*ÑE%L","R͓ ![HdXa{  &/|iJR-j$]_Ht=[hd$з??уrrU~skS"8b.QXcɀmz+^TP yjи@é=ǒF9#7]đ>g2Sd[B)zbQQ %Oh8TL OZݟӉIn`źN-MiC|dwXKJv8g/ XjI,(浯X&XCT 4֟պYvSW쵤Mb-پԄ0Ib#/JR;=W3իr6=QzRe[O29,kPWSif*ىN?|bhƔefC.S3jƍ+DfWzJ55) 5=uQob/:όo9?fXɋ'8Txn̍!@ǀNdrfHķa4䇒Eq%Ƴc s1ّq`7| ԯ ,˯/Ng)r N~꧗\daf/R4 ]^a#/WzulzXs|C>Vh _&:ho+ (p\L/yb-W/( `ǂ.#zz xE~S=##4SMULX"5ogxp(r1i :gi_ȊN+Zn8i;C?d.eňˍ"z6e0i5,uO1 MZ3dAtS)}4A(7*TuOcxa'nEvd?.]ՠ7RaVIiꨖN}+EXRa/h!2<1PFa[riy1r uf%-.~L̐nJS2ogDۼ 1jz'ϥgqW唂$LQ}Ph"t,תj) ?ugl_\V=~^l7 yBw7Ԗ=n#11/)Bjb<<3*QVVDbih%L<2&S$؝ y>hi ,pHِ Woԝa/ѱV` (;cX7t[ ꣨,vR/g^ 6a) /"!SR1{ɨ"K@]yVV!Į,}%eXw \[5RAJO&ݨEf|dgeڏc?YO۾<:E?1AZcp96"\Pv4=zE:Zn %ōλLp/%X]:40ל+z1W#(l]UmjL( +&9[-iǻB/d܍>,7yW̎{Q;lJjmM#xq/"Nҫ2 3qc#@?c\&Ǘ}`FnEJ5}# scWDE6skbѧkK`M<$Q1`qV4b:ZQ&Ț~BP$ct~;Al[vg`Zc Y=.R$trb4MKΌC_m{;[dyQ[LS|Rt/'[ 2?HII"-j)6 t-) rUE,X(g-l瓿]W}6W/(v2U#^oKn-Jꨃ <+ǣ+aE(pFpg( kbj[,v; pA^WZ_Ή@QՂߔ # 4N*j7!#aTtZ쬷3҈aкy0™jip,=dyK0WG#KF? ۤ.Tߢ!ߍ#.zV0E9ڌWyU s #Ĺ+݅`:6SRCi26&[fف 2T1H(5n< u;W"BF=!}&6R DϵKY]5+ƃ4J8MJ J!-l+ >(Ç2ՃF˵+I+S-~dD$;z  _pspfܼ0YIv@%_0sQTY }mot\ b<|Xve!SY,I@ŪdǑI^DQIww޻ct]'.Xs~w:/⁖EO}͑.b zTx(Sg ~>%t19^}5.}z0ǐ< oτ,ڢ"0K gY|v\^aCIsVw<~j}BQVu`0C۶`0,&. 1EN$ܠDͰ11An9#jU崀0{N0Z݀XC_P BdQO]Zr1. /!}JAX/! R'wJ2 y9 }CG˜k 3inԍ )ќqT_# A9+>C"4h- 8 в 5< RPmJneю׆;9)2MSI]瑛LxRFhSRs \}򾭅ޏd1,evwٟIG oBځ;^$/q8 ywN/XYw)ƠJݥ -T?m_D2ePx{ʥ{B4,D L|)%6}$}ތhD_3l9AM>b+re ҋ8q},|o(2Y…IIS]_z-ҲoDgI\'3 &ΒT΅KcVuji8V'2LG5JV7%9EM_aj/gtTykC!dێL:L&3gb?fVˌ`pܫ!}*Ce6uAvuZai_j( EQ0\sz ]G5Uxu'Q7 ͍isc66M/1HPX6U0X{\MF`>ވP8egda#"eF)!6&O;+Zcr`1Slyx_ÅY) Qdόdw=,f.H[yHfg,#hFH. sGIqD QhMv6=&2$q x==( OD8?2e3&0[`e8I!1}%oB~Q _v4 N3+'{?o@<_'Յ3lոj&C9L6jfTW+C~~;,f#enxT*r[ރo6jȰSU" a`Om dIp7NN.8InUoxQOM]b#| SU`3luήEGN4ZNIPvmܸeXâ*x'68ɝ9wh;WEѐP# VIL,81y^^Od #u)զE)"Ol;b'b&&iӋ^ڿaÊRh] \ds RC`SP܏S "M@o6A@XmGUMe&z40drd17EB3^^M$a,5l4kzmi24o^۬Ä\!FaL6~exl_>ѥa'QK9ԱnX>BB^0{iskB1MQ\WpqiC-m}C:T%"eUYq@=w =O# DLd.VbcQEM<1WgޓtҶDj<~=[[ԙF}B̮pH/͓&Ԥz,R5SG?Ynn2a!ʹKYU3 Qw_)QMy]x q *U47S XC^>R1~Ze@H^g2h$q:ir.L5|P-׸GYo a8S&=(˰# mu/Q䆦@_q -jhu@ԝ!p>5qP1]d}h"-u3ChW&HO /A+RR*)A0d)! B TE!p2Yf6/p0fQ@T [0s]V:,&//&RnC+;gS➇\dov}y:dTG[Rђ lgw)j}of sguv gXzdp.nc!Lep)0 EE aEպS»7[?~eXzWw.h.B^b)t oduo` 7o*D/ N&I<&}A./p'o;eM3-1Sp<}+c! 1zCG@*[Ȣcs_Ox]nWw*Z̨G+=ŒlPlKfyjPVDFZε|Q A!Jk\s0^H $Duνh"NT$z;҉oo ]?[р}WH[,K~Q㬋.x2|#9FwMtX7 ޷7G@m =FW ޙŃ@kc?$)%B{;ngX1]Cp#BeMvXPEv?ٚ^|:k 0W!%p ^dK[ D\"*jILWa.5pֺu nd ?}q 5y[e!Y!TIb*F+U!`ߘsAqk]s܅o3|PO>Vɞ!,Wbd GFOR{CG1o`Cث+؃z$Ry%?c& 9Il}B :BEp"9ImA)haڈ7Qу/ yh[k1ϻ\s/@{.̝^ [yz(߈ ُAl AD575gУ1H^S7:@W#i2S MWJ'^zM]\ZkIVh&Wgƚ}̞ 2 CotjC;~5MaZ$"s!@@h Xk)/"'e ,ԯ?!a2ڋL<& ldMUOiP ňe3lǂp+0%#eYl;=b*\=b5M"~ `k Vn;{3lh*zg _YaaYQV Td6׉K jêfwv u@dhB"FlR.W <8%Oz1[)%bpH/&9ܖiog˰{ 1= _To׃[ijvUڲK0f˕Z NOcn9S؊"RYAK6)VVH5A[0jd=UL> CHWm^tҾOqR܂ǧ-s6ъ]^iοqAw$dLIFl\ $ 6}&6M| 7r7bdnDO#o a/54)*"'س~J?q=0̹ML]naҼ (.K1éx|)-6cNp%`:38tnp]K4sg:<ڷil71ĹoDzn*7: ,Jl^6xJWw/mdLKJ}6҂ 75}/[!(X5nvgs!"x hPB4$:XXu@ibUhub7@{7xG1Tp&ٷoLw[fw4We wT[SQH4غ4ooH`ֽO1w(k5VYC$ 1FU/;^eD+G9c%5pM Y:Bq\isf,ot=ai\Uj%NYʹ۱+`ɟ۟a(m&o9eF9 {Jy,ԆZk؄Ȕ&e9)vɣk: \ŘhTefIbd6D';B$MtzVm ָTW"1)^e0,yWú$˓&3K'J58ᥢK:BhBO@t}xIDd"B IzTfA#ɸ_YN/*n]2A]W8pY/Iʟh=c61i; Is! *ʫ_XaǾeCʂc}wE-۷TNPzx=g!΄MKӞdepfIeu;],*OZk_}n)ǜ}7 Äuq*5M{tV:,B,~*rX. j.0c ث 6yDg4p"+riץJwj;*/;cEcM'NB]@#~5*~vT쿜L)Z?=ZTL7(;Lde-5DGv$%r\æzP BAd17y(j\n+-ֳe0XmgWv|pwr0Хvdz ?$2i͹xFlLB:=jNїauu | eM\7jH*߻pSdhZMэ霑$3=.O`C IpEe$<}d^²>FA_ڒKSg<9FnA+uQzbnrM@Ka&IKjCuB9"ty-1=6v+-(/LzҎ#/?5A|F+TދX뷐ļ^ \PKe:햿#N|C\7tGa{+l+S^VBQ9V3m$ eq ZunWab|9T>Z&"%L [' |IٺR<;] xcB;#E|R7B\䝕}."}qoεH k:Lh1ڠaa;插x7Z2"nOQpp"]7o[8 w Ϯ}5f]rJ"-% EDc|; [Bj'Aݜչ_n,/3!F5=FjS5#ed¸8=c&#wcKQ ǤHVgw ;gFja^$q*jy( 愺sv ~`b -BnKc$*s;N[tr|"$>+Hcѓ N;L[5 )(c )\ DܥpunnaW^-`=\nؽZU|2<ϒi7M$`tO٥ egv1;qC=׉yId&r_/GMJv6!ތ2|u]#eI~ݧ(< eUR??gJK H;N4QH"%8" _ÂO7]hF 붆d`YN?.b hYjձJ I +d嗬?ﱍw4/~MPdbB}^z7%ha?̅y@O,{!~9έzE|۬!$Rkt d@vwL@< U#dZ~$Od\[U#;' ԅʘ;6Sؗ_p-ԝ"JdA3^ز]={&NGhPeGU?XX[Օw ;sF_AҨcR 왂M=qOem yL%.'tWb"8%_|9mg)Η0f'9mYL r K^d<-]U5j&sEjg{!zNs kyEh9D.e =h-hr8Ot-mK.1`ákOĭZA1baQ-͘ SA Lw6:MC0K/u( vgyJ3'L;:Xk*lbfnMRI8GM8t\l+;xs"g A#NZD\,zj g~vLCanE%T#7ǣ9#2uJ Љ7-CnWj j-, ~9X)4Q.̥UeCŞshsteM ?@ Ip1.8}Z|l"c`*Ś OklK⿤s4f*Nd/>c/TQc^3Qiԫ&fzA#?Xy2׉Yfv<#Mz"l~")/2ݽGZeATH( 졸2eV~Ԝ{Vk5j|eץ#J-ٌ ^k@w:4znX=2g5wyTRO-!Ⲟa‹!K` 助X #cS)S= Qm:|jZMԘ@Cft-*b'}rlC6f+ :=hGAZy Tag'\ϖT 45q[FPfo:Թ~_b)i &ESpXiu2#!魭$q b藃ڈ'`U}}@m:2PknÕ݂4e<$QsHNM"d۾:Pb!wQ!Lӷk($Xs] eEWO!iUʷX8"ff*nsomG#j, [zCBb$f Z`k[%h2gzLJ񳙄zoÉ[d~ 4T^f#B=4ֻ}-s6 SS4QpjteYc,?K.;^E~,WT (avT@rmύ,HI BBW6郗sLyDK ]յ ҈@(.49slR8i?n#'M <Q̐j.!=#+ - un60coAc+2r얓*':_8G@8QAa d ?^ӿ<9xPZK.N#iPԓ e/Z0$sFfhrጚ.%Y../ęI;DZm䈉">۽I7Wwi4q-~w!HWyB>+}׸pz .Ct 1|޸!}<4gG2UV-痱q 2 AP0'жw'/'5xnlG*!foa^p0nXDI3EZLh .7QrKKQCE-?]i>NɕKSw/{˭8[[!q.;KG8莊5n[ZSi/R.2b )?6|(g.a |ڸ(? ebGFZE~؄r NTHXd%/w1 JIs~?k vEq |#*v \jBl{-,ݔ$î}J,h \Ԫ,سnE05GʑAdPKlƭNوV ZřKz-f2^ afhnI_[j۲թGMFЁ!2wU<%0o9"~8ilaNw&p\VU6έLa'PS3fD<.h~%&HD`D<0 yF~mNqEeyG8q);o`͟x#\BS۹iV8) Jr$r[\pZ://QwlǏ+T5P?yhMbF$ ӶpҴf$Ybu](?2_ )#klSډ9@Cj}' BoeLS zSװ&SEM,'Eo&}=Nz󁝖-^ΔM5w wS_(vvK- uQ ,<4s(brjF(oBh(Jwi$nS5CHB%0A)S.H.|Wj^WQڡ',vX]=V KcytްK44R> n̓ (O!Դgfz؆hdiPKb7) DO/ʻÄјn|S k(g1n+R,KxL4*m/,f3dt z٫]P#'J=]u#n7fF"IL T)xՏSc@xPNG2S;Mq^s Sݐܠ~;X"]s~/NxI6'7tt ?l74$L"$e0ö?+͗j8|j+-geɼ`.&08C&Bd;݋_y7ab%O ov X# s øm_,Eٮ:)lc3=ҹ# po s< M< 5H+hw-ZsVH}W=CH94_L[Jr>(ށ!Iv5;S e!8 u(`(8R,D]kjy]ʆiUEu#T!d}imI Hg<Ջ?D ڵQiʑGX(T[5Nb!4RK:}<`XDGAjoK+1^/-姻xh4)=pP5Bn4shP?_ {K OH1P\fİ&mM:6;yW4 IVv7YN[(ʒrQf57gsR0D4-Ix^p&cx| G _$Nf&DS;Bn?8Zknsd 9>xO [a9+˒ &hWϘ' ۵oJV  {J9 \7e1cN[ 6 hT ^Ua/ZQ$QZҰϯ*$0?؝\ZVMtx}y1+-(ZaMY{ugF;'*fCaup!5i$ 6Fz,_/ncBYx^-,5IBөMMDDr?oA5lY9g ߔ:5*0M֗/ hwOo'/' ɺ'p!A͒)Xry.l(k@qemeNEHE{F+2!$O6Ʌ,]BҐ~%l%>Rٶ7jN6@-a `[(+LohW}|CvyCgќTmWo_~~_.HϰҥY+ QlD.38.FAhi1Q` }19{.3U$C9t@q 33 8L3-i8]bӦr9Me` ńڴhnJ e*E`/fE2]aE&a".m2q!Ed Y)12|E}O]0&R/1ވ@(s2g$کp(-d 핁"/&ZWV*ւLcC[qa26]WzPU)đt8pe=#yrHv[5G}e xݥKګ9BNۑA-5yvN,:Q+vϼ.ʥt4f~KvB3MV .ōmNke!a/~nXuX~ߣfe0<]*^NbÀ6fHMr%Ëc{(Qڔ]΁WjƆ~o bW$d~0:P:3~ңS=$!jUr|?م2g*'a6-;h~%Wt.0Ya"ؑ!DđCEB]>R- ς,>"/R~ &jcԂ=!= TPupYG:~3\'Wt"%Ϙ!<6d3oyq+O<>W;OJ9I 7&Tݪ,Z[\nc\9y}͟oYY=72CT4Å4A")@׈ {z#fLB~رڂzJĒ Fי 1w{{bbĄjpwju46"EVh Bk;4Ԍ)e=\6vͪN(`"e W F\EE/.fW♜"qdsDA"&lBļ'Ǖѽ%N!*A l}00(_ [Hk&jܥEN[x-F_- e0RO&w?'̲(F7^m:*p&Ĭ!$T30$9CȹD^@2qy W8r;A'";GЛ]j D^ݑ>(NKYEty^|.&]|*rn(ҩ=30Wd& r .Y0lqq3FK*$*U]] 3fz TqQ?s(\feXpp`Tn6w1W!`dV@ ~jV} 4OP2sZg s2⃴F{9NZAm<ۣGA_Hes$܋_5 b!i7~5a;\g6۷<GUA芾I&㿯K{fbT.dz:هBxV=AZOxġ%fWv'O W!~Y# 6۠Ty{ݘvg)4=]"Fd츒Vx+j@Z"^\ԑ5l̸‰ %MRt7X :)kuwņ. RXoTU2Eۋ3ִ&mB9=CD".q1$dI>ucoZn]:x*`SpQ_o [fx aL9",j M A}JSӬ^z^n{[ g$=p08OWHyk)*RH `dJˠ;LaCl reXQT $B Me}1LOM4Yp1f;UHy N-!|~=)HDyx% T1s'0=Ng[ڝKWɌyLI.}K ^}rz%{Y.$X0<)@pEzRWt#Wo"=ȡ)e|]I OT` nvCؽ}:3^P}-6Hjաb}n4 }jNvv P,D&}f!m?95ja٣/3Fؖl kk=Ö\ddE8 Z}1Hf j>xD`k2Ɇ@;όۭh3s, PErWL+|;C 0A8'?{λ+=J%Z%y nt=OB5 =x19NdLXYrPoJ}{,@#PGk_yYnqpz7wjE%8cB,>'Xf>ѸX#v"#G< %r%Gh:h Vshۑt(AI!"7)/z/,BvQpjP#ӁLEQ7|ы^ʬz dtd_ݦ$P#0c`t3%}+iɶ\ ̒%di/Xh=Zҧgl4AHGu Gd([{ǺI%^<⡼R<#B8||.yFV^dOIV:KW.XP8,/3Y}$I4}5OA=yଛB{VKu% ҌB*]~5Uh+u+8.Juc]=<9hթ^!ਔKa2+2nR# Ww[Z 8@hH+7\x)V~pOr(>|˳:J!Jo䚆pgHLJ8Bxo8ya{vLNzo.+Nf׀?C,b'N]YJ {$`K[1&6ߊ5I@o8u~G DRnq$Kיo[l&CjiýIb-g*!qJ ުκ\ {܈0 okyP5?th b'ʳҡ?BƅqzjeT[L)w"v|~<uj'N֘c?7m1,PhDf`tߞ[H9]z!-ƃq\;]nU{\$J0flk`&!J 4?S]1tx[E?smDޒ*6)[63ƴkI퐳pPJᶡ@I;"N26NġQN˷bMAA r{D!am|sX}' ء+0l'NYu6<Zf h"Q3ŘPu_MFւ83|"p G]Qs+,ᘕhHj&U 9 Mލ{㷦e>'$UKAqUiGrm.2dޖbξLtE;/NQyN>o΅h:sJ,TX cއG>MvPXcva Ns 97 rM&%4RXʡeȃkq8hNZ3Om)0b5xaYѢk >1H|.;^Q;7u]N-KkkZ`)v,8y!0Ӄm֖OT>kS i^w"oHЈ[Uhz<4:jQF +-E^)Md,h[M(RZ0Q#FhY*>8BI(%.Q ,~ _!VSׅFm*K8b7o$>\(:= 6'~RS؀k[k >LT1fR9KD0ӚH* l%Huq{]u~Rtv| 6AÍz{D6ƌTDF"GFN䟂z&9J6`r{^&*^S^pRBKw([.V+?`4l?ʵO8;stAŬ=lhGAhZ.s.`œۯᒦ$/Xk~er/4@87K.x)1ߡEVŒ.5pmԳBwy&Ât>qaϕH,MnvIe!}tisGsɨ!;\|2-9pgX1y]{;ؘf=`Rfv`v[bn -u7-U+%L>3% dZ-6Sœ1kߝu˴bAȠ[ /\cZHhRxʄXo4mn݋e^#`9u*P*=˗Lh We7\L ƟR"'&/LL.e+(Tu=`2Uvs\!Tt( ?[el aVpGѰPchT_O(TVAI)W @k+\*~>olq:mwxPqq$'.jr|{gЄwM\j0˙ġ#W%\6nǡC1 ;Vb{;Rv J<@Sum9Q_imò$K ^z,AQc6 _^di_o(@Z~OV'7K "="-LbuR@7$Ae)P¯<+4Di)Hđ}>N>o~hg(T tc\_U ۤhq!uw+|!lv;)- zWGiWˣU"HC!B}Gԍ<:=ҕ| dM!+ąYY1Ӯ̆#k*4һ,6K;jM[X<ÑgϣG$JDi8joq.WaVc,fEklH[C(!C_oAy#)qjG ,_W4|7Y&cn$4ƺ̓{ͅcB1&ܘ1v\bTipmao)Loc]\S8:~O`:;A6!U37[F=.ѥx T6 )Ћ{=ThP欰&:O~}Ֆ>c eMGi4Za.k12xu꣸$`JB[cYō#hpyjGNɪ-@sfcC,Q{"w֟Q wڸ T5n~qVsᖆb&SAOen'91/!v~RuǞiQa0`+N6Osdf'>c ]=L7tpV0|s0n8 <F?Z_5NvoI͖E,hd.Zw"BL D%6=/N8Tk`-j[ Lx>bw݌y)̲GUT)Ji\s94Ǚir|5˙ Ւz $5298CQVRg]X%swӸ5]dy |3O󛊫c*$ӈ@3^i{h xZ,مo(+=:P  %F|(]c?WsM} VugI&QqU_r>U9lq̅6a"dFM_;jv m#Bȯ⿍{'HoY4Ӯޫ,fd>v:x;jÉ-c1}"7xBծMA3>#X2 vvk5}"URhͲ\>.)g + Tʐ*O1)_N#_M={G`ɽV^?2 6A0Mq75i%?V/A6 !ņ̦K;^ cRw/ `@'?o3=DbYD%̷Il*KW)fa`R }e`1fL@ȗ@͠rhU y5 nnPؔ]fM-F|(]݀4pA-##?cEB%tYZ`Y6k3B IoaБLX\(؆fN(!C 2lƳ={SYCR#nvv@m_ʱWK}O=gh>ҤO#ihfҋZd{z65PDM @h ٘1֎;lN}eyxewTmk'1i׈{DIwҼ*@/9#?Qw@1R˞|}3C5r+LHb172mCk%F{NlA:7_i3 YTmv "'Om&X35д"H-k]g؉$NRub\nȲ\*v`)pGK04-L&Yw9$((ap zU,@3#pc>ƚ]TAmlA$ :?lGY:9ug M%{ܔ oVN x/D'$7/>FF2YyQQk礔\p8av#AR[j fo’`ᑸaI ! :9[JBԪ*WP # +lyrBhxfO%} :'X,Jg31/ĸYo 7M򏾯#nvyjA܋;HgO4[3&OEc:[|кkD6/AYv˿0Ftq'yP(I:H]ABONoUٚn ^'FwYgc/PD޺iOMz"R©Kyn弪C G"ȴ1CvI<4 G9DȦ'!Pc&)D{ҕ &a_(¦'5S mL?d bP:J=f4l7RhFV=8ҝK >5PS]e E˭샫a!9|?66* &UJZ -\9Չ≠S*3&6`!&RI9C78ըinj@O>%0/@Ӣ߼ӌ(%<~SE>zmzEUO3B_5^n =Z⾈ ձ-7>9X]?*9 wp/l\%_[hGq>h21$aI+UmMREQUEg+:K/db뗄sgD0%55yI5Cg%qe]rjo) S3' Y J(9;_є3$ӝKfq]/j]8ɧ A'rTAbu.Y~(uS"G RP::VnGĽ(O *.vOb9]T 9^Ob4vn T脈|/|hqe}b3 8ѝ#`Nje ciQ|ʍ4Q8Ub Ʊ|_r " 0 |'ZNP!)+^c N+(؇Q eSwN@ RӤ|Sn ЯhD9MI`58ᝮUV OP@[-J1)sUe,8ΩlS5x]zj2EB᱉L&K[᤻A#Y.Tf1J*[ҿc$]O}1PSNɖ[)e3 bc~Iu^3j k^{"Y<(˭TN1h5hQn6I苸Ն [QcѮIug="s6$Yw2* 9˒(/ ҊyDIHdaW_t6ȳyUI,"'  jGw۸lHBYn&!Rݍp+F(TuKO&WmEḽ)];c(N!c0m 0{rP;XvFϧ1&ڣ #9-2)K(pC$ݫ19p(aűt`)Mb-lV5~Vuo)*taUr@X-Xop-EHzX vŶncHx}WA '7[,d[ Z1˳ lp`Z_xE}ڤ#:\ |鞉bޠ[KP`'Zl1 7Ik_c؀9ph 23<#|sCtsz%K6ߴ( 鰻u7EZ5X0Ju7􌎟s DH P M럛MT@GibYX~;{EҟYe4Sd..kc]gZ!4!w%* k@s`Z\/l`: Zj1!ıY)`zf=7[:֝p|tVɶc,P `3%s Qۢ^MF 9 `&}hM%< `6ܷhTUK6q=XAOuMTMs\&Q&`[Y F̷A&!1ݤ!/ViͬSa/4΁hވ݇jpuN4JFܔ Zub'H Wg3HֱYrZDcD *'a?Ϟg5]5 CorPif5s٧cu]N_ - U˛J7Zg 9Su;q>T[l^~$#7O_sXJ.EoՓa‰d66фSvyV囑vU=JqBi='? iXyWѕz,/E7Q'#|6rG<s;|L7WDJ .UDd#FHnT./tb @;7ϔP̳BH|=غQ)/wjUu>A=`K@ 1 eѠQMfy/d[kȼ ~O7roQjGMC*upCMyʂ?|W;f D8 ˺MLڤ*#c4'?2:5T uYmwTPE KPk h 1 ;l.R* $]&l;Әˌs"Sd<=-7z6A?/e2u/II9`ԼITXVn4T` xs$3*U+̪־@{Cke*4Og-h椖I79Re!e/P.#+SE7J$=0\tH-n2iR56gؓZ$lqO3즣E\qo70=7 z^-~q4QvIgdd :QqoCImci n:iIBȦmqEhI8+OijQյq>f#տ/{0gzz;=@ FسX5`e΁X\Mmj- [Z—u(L# ̅ W ȹ~mܨY;LAM2+&Hg^]ʇbڎ11 FQ6Z9#VTB@Q?ta `Z8Z5}z{vv '(-G?6A# UMIRWYQۿVmºMiiGX5 $|Z ԏU"ESހQ[ ͲX*u:[b]1{Nx ]zeCbTHMHQ }t n"z9ch~Q=ÅOHfQ?^p{$ߒfգ;3Lw⇦ӪAދ:qJE+nGldw.wkjJŀL|bh++v踚qyqyc4TGЛK5Re!:d;2RmR3ʤV,}y8.3Ȫɢc5&+Kh ??/ Ydv L6.U?gWh1JVg(5#-m {z\۲ _MdYZZSeCכ+1l4hg uЇ4֞iCxF% S#R'Ƃ}%]\n4"1~N{<]ϴ[u`ʟ.S 'P ߂|]:Fv/%]7\{wټ͍7, B'>QnR=J[j|䨠[g8Ő+gŖ恈\=܊aa)G/_0[Cy9| ;1N %4o& ¡/0[Ť_GKIK '=&UǺ|v-ן9fB>7&7m m"r`ؚ ?/=q]fئJ:kVu= kr;uQp;nH=gb"*epԊ:ׁ4_2oS C2쿽!1Gk\5 K/u8+CxL] ( vm-tY$n(R=SC6Ws,)8DYa}QXx3WGBZxvl;I#>2ɪ` @s1A*{RǫU[7gHu=I_>6hцђq+GdzTf܏iOع2X+IICReҗd4y}OqYLlvX$^aJ芏tcX$v2iI#*#iVkL&/PQEu +09tNt4 :`Œ=cA b#+JЇ Y"rє8<^ZB.5|pnbjWw 1q$Zq9t%鳷*wV+eGٺ{Jσ D-1frW.{st$q$y11]MD]3V5 u7/vkQkĝ<i7ĵW"we~.]jwq,}?Vrr~ @S##P7>Ȳ^q|zy6pjA33h&,fjԠ仌os_Pmҋw $+ l 2үa D9[VIvuQʇպ$V593.LK&7*i/ %W9QhexlAWGy޿!8OwRމI1=' O,qCCB3v,txT*]4^Ϧ)dL?Vp *5CZ%~{^F?aT$iO^ #K+BBY‰ ( hb;XʼnbrXQBφ-Nt1V <=mQ|[ 7To}wJO?}+k4EU6 Ӊ8cE{Jzy5Kbi::8@hQʰY>)%QA$Y|[C+{!+$#) Y-\y#o!V5fAD! 7L2HOe<7EE'=>T FBb l 8cGczגu8{bl1a kA$i+0y"\ .('Uh0".R[Fr 8ѷ- BTޣ EM]W6mtU ,ʍ~Tpi5W%ulKEfHQC6[^ꗃ۝-–*-)Ϣi!a˽)yy0`'a t$b3vb<ziWMN%[ߚy~d"3NcNX 1Qqux#+Sta;l"$aIقkmEOKsj1+ `ޚ]Ј#~g|9e?F g>܎a`\BrGgZ,XbUUՍLuL\tf~H=‘81uG6x`,Qa렅Ab]ءWJC[pY*od]kG>LTq0|cD6cM<hc"jf{ƹ=XZMEMˬNz|B+/T%hK *&F9g Ŝ X_t4@=!g>"//keO"l~ Ac:FǴp΄VԙwzrJ*C 2#ZH pLlL|]7-Zxh[G#ODs(wl.8&>p(Xnɼdĺ]I㶆Y ./*/2=,|nefW*lj7(& 1}D} gHJҲE ] 5dWV>vHp522b678Llʸ':pZ5ڭ(4>w4Cֈ5A)C!Gu]n[:3Z0W;&j4O6K0@~ ;މ4h7fpfj #c8a{+:E@0zMh3Fa3%c/mcH샂{Hc\]7|*5' sQp(@vwI|;TVUek"k.E;!ubHb M*9 T欄P}zܺv+]#tޯS`tm<M1gWY1MnE/cd:07Qh{2,.!EtAlEU"2-i-hUX SL ԭtȑ_طd Y v(]p~+y Nv 9dSU:ֱX(X6fz ۤ`'P@jnopc0vh:2p|ɸVRH14SG^Y!8Ie "lupf;%&>yQKMD$ʽ ^_D[V(sck'wʕΎQm(za]b6[#q@-P5 lO1'}DZxTmb|!Ѣa`_ .#W@$y:HML eӘ0*E2H<"CT'MRc~{GBJդ[!le=3\lRoi;R;kvr+{)f7d@GJNaC=zRm{@Jf]ΔWze_'eOSA(x_?X6!AIq R]LG*\ 5Mm'rۻǤ ,jƉ7-wIŚR%`; lQDA*.Zsay6KzTն2&t)Bix6,I r=uQɌeu>@2~\MQW/EH_A )\P&I9ÉEP~袋+EL^YL`N' ^ʖoOǪ8Mʋ,§kDdzgۜYYE6\ 4eI,V f=ƒj7&M\**pNMbԦOӤgl [E/uF2m^QV[݇MXITڍ#VCP8hqRP.=rO'M8 y's; j7Di~j8~K >g03Y2v|!Yښ\0e2HER9 -+߄#E4B1Qf r]Ɂ;<Nz]b~־!LُAo;.^R`al{3/98SĹqZslW]&7GK‹=.:+hd]5x-K?VM( RKXAhEfɡ#1I"z)杊yD$wdlplW2|j*D('ɉ3ItuʪX Z|{GFVoGӃJL>GσCV|3D]AoU/>u} ļXgXT f* ɥpw郰 8DWKO/lnpĹjNa֔3cgM47ޜp|pCwg(S7V"kQ.^ U_c/qtw LsF{8#6=t_hK>O5$ ?9웬diCxLgWAH˜+˪ wmx=IXV#=EA^m 955^r{܉FBG|U^k9)Ydy)m'l_L}M յ%- %hmRं.$#n^^7#z<)ק"Yv}m0i;qΪ^L?^sYiP"VZWt-I*t;I;i#ͫwU1U_rșUvWgEu" $lmZ/BS)[)E@dI!쑊!+ϭj;s\zO)Yl20q1X/a&?f{_A\+.V?avH< >6=|z9=SͿw}9PmlV^!1ޭ,USك٩NM?PMڎl!J >4`UbeX+ߗ=bKYRenr >fXcTd1 9Yl481ok ~.-+Ѥ|`B :S7ԋ;<k a{|.PR9zz K> 9듸 @`jg!OJv\.TXbnfcyZƱ5I%&5+XA+nN8yZŭ'*O} ?\o@ PPkj2ϘJpAZy3rw0P= Uqg(ԉӆ;boPp?]g:>3z*ff-/o<#2%mI03,.5Bg,MW֭7@kRop<\7:S%A8 a7sa Ena|r3m2j췃V猪tZ=5\XOp[ u-O]^_M(Ki&07E9V:*Dpd8j3!؈8<1U:tjDlшIZ!ovLV4`/*хg RZ_C2 ,Ҟ=t͘GͲ3%YRSirX n<0{2SS8,X¹4Efz*z\sE0PL6f`?]f'K,~6 5gf{聲x̺0^:S7︱bբ:+gA5 ˨fSNe݋ #BލcД>[693P Wu|B$E3 >p9͆~.?3 TãAE_>ک :aYچq|D8=AyI(}y#R|+'U_ץj& ~ ;{39l ޿\p:nG#I`UeeiKOAȸ rMlp-w;?FUG9UӾe05t'+}^>_LmF)|NڢtF*khz'RKV)3\aYӑܹ'h賓8ũavdCkP\ۗT]f4+0XxlI6Qz 4yxoK7LZؼ5P:H@r@!$x+-BkIS^mÑm: T 6!+ٜwUQhhͯki39Rg^\N*RB4oxiluJOxf6=j亭e;3*@Pfm*V2䲘p'%]brrzKbŴUFx`2N&(m+~GJ?tߥO"045 qxpZY77cFV+i<u9I8ҞwL1~U }{=ah[ Pgޫ%}1v^R)zMS]}(:.w1:(-gm\o1ûnn 7Js~0 $r Cˎb iᾈ??&v-#.0妲:;NϿKr1<.Kgkt#Ѐ--ВbmGN,*yg-Z}f$cBh+rW-E{ I(DhVԷt^ P4ɇaS63*F>Ka̡"u"hɧd?Φr @VpKRdzsAAIi[e-"Dw\ѤIn<*D :`Y'׸9q ndM֧iNu{ej# 9Y(E<3Ύ 0\14\j-5K.0$I+nx_;L|ԡR*!W:|_l&vޔ bsAx~^M.hFÆLDw?؜o+q:d Ý{FyC! {D'2:]R2RrUtysšA&Yn}&N."z۞95w>7=X(nevŖWOn~L= *ӗgBȱ9 [F-#ׯ4%QrKxo+liWesQTjmʰ)yлG('4`Ç@/GtO2:;i}v% 6?"ux].DĜGdr| 4wt*V{@oGܹ'=} x#ŵ.#U/Yu~nȅU@|c'uj6~MmbげA odK/a{|"ڼj &uiB}[x۠|-hl8}i79}Ln;₃1\ҮTҩV{†^J 1^wV| On\¿rC׹hzKS ' %EW7eqFȔ3Vj+^~W%(F1S6)m>iV7p*UXUm"''}.y|Mg14Y.igJ !{1ƽ@ո`9RBzQ-@G ʍpYѝmH{֕j"x. PǪW9YEԸS[ֱ~ߗog=v'TN}~eX9>iٖ=1ah_si,KV7бw"Vg ~ԍe[ iU&o|u(4?1-h)e쵃yYmԉ N<%`uÇ:p+ưF#-9h(JNVPdk D(w QZ?.4S oj<^Yϴmw46ta eu -(4[~u%b;<1EWc?uޟڶgzb ^Uyp XAHMt^!WS<؝,!Nw{+k:i7؟ЕF~nyJ]MS6icL}@z|]!;G#4cnȗ+IAxZvnz[SmUg4 5q iŋӏtwD~#0R:3d.iҊ&)'<`><ӴBa=n4ߞK*ʕb+ɶ$˲% EIt->V u`ƴBBGgW135+T,8B/l.b&!m#C: v2SB[ӄ{`e*4k.Pm1c =Qv&>7AҙCw:jtJNƸ=_y+1GDSZ4o~"^uq0' ;R->b0ZE]a|@eyzgk[mjV&2IȥF5HYfGY8M"AMs˽zG|Xo/MZf.?xӦ2hzg} .|"n;\mB98|ZP ﱻ熋vbަ}W `p4? 36ggi>r*ݐr)\eiOķCqW˛pݗ7%PGd<=}Dl۩%׃ѫ`^Uf?iHno׺] "9#٤k" /ߩ@aM}_ZʬLb;!{NVTT߆9 Cj#qh#N=3x2_P10 NO;3EB\s~f(oM)ݦ"o*,_ܠ$i5}YYa-XcRςɼG s&`82͔wǝdžͬɁthC}xM )R} @LAAt>ܢ(o`bfA):X0j\ $a%Irdէ)5)`n[ '4_g1UA5"Wa@%ނZWE/35$ֲZf4Tk0;k|NukuRf%$lA ]dQ$x{6CixsTyp2wj8 ݲT%V/">H&DIEZ|7y{Yrپrzݽ{%IhXD.u_b@ H^y+/&a@xω>h߼MrP}hSv0C>uQ1[MRH>^E.E!z-3ϹNK[8ۣh~iT VBHT s5=/)Wls(( $_ мF܇` Nϟ}`i`Ĥj鲱vϛ>=Rf(<(Wj'baI=xÿgi?R S bQP R S L(-8n s\EAvuVXt'tD9NF>Xj@Y!#-Fѕ2]. $HCKym&> j5 5^Q-m,,_T1qA〇'j={/D)DZl9\ȁ>d b nW{'9NQT Ck¿HĴ%=`M=ªvKf)Y|. sS_lMG&2Ř!WeZ1es0d %fdx8`#r ,g#ubw$x/iM.bM6I=#O*q*ЮeZu:$4k٦C}ciJ̓6 gfE8_dvFmX܉Zpt`phk㲞PCE悏8W/Ve! bDy#*lbD!aFs%6B"F50œpc{ym-J6PK)d]*ې*_V6B30+?=ԑMX<h9 /C߽|szek$+62m~ s? {)lyNjsQp$o51R)DL$nLp'\T"eN$=ᔘdspeQW&im.{ E-.0s7xC>YL4a8(\ԩKxPXgT\TҔ,]ͪoxyIH.dmU?QY}莧 OtIhPC#Y+ g"Qag>jRjQ1hbG=~)I7FU~H3~yq8(· mgƆUc. F Kq](t>)hvrW2hx9eL}K#) lqytTxE,xF^,v6śs]dh̩4}NzLM~d]ɞ|Re*|} tntpf-@d_rXGqi܆9CTsdlc+ w=edR8kb׼l\V9X4Fu0l NF㮦2]:e==/K3 /ցHz}*7_<0ܥ:\NhGBQЉ[&!WܹۦDj5}@aȡ&@GXAiIɓ~ K* yyUߞnժNm u .m;BBUD? kˋ=n8IkW'LJʷ1#B @&@ RĽх3HI;@DY\5ll׋#[gw!Gz f|s؄ّJRQau;| .rdXq%92q[ &.9"Gv -tC`ֻa^ g_]b$GW'cYlL{90<f/-3dD6MqHco(u2M:xJ?5E_3gUh׏u]x9V{YČ l)@t!q@zJC%q9Y<:l0LhЍ>^*U_, uC HYoT?M&_Z0ȨzxX[_.4uSD9 ܣ\A,gýn,fa4(\/ܒܚp胿 _>b*٘O QIE0^k ¡ř*!laZʙ=-Fɰ3$P8baFwu:N]|O iff$礈&=)rҕ ci}*7) vLh;"CvX,>axMS+LWJي?׉h1ĭgY#WסWJR3ݾ׻*bCV\Rv{6&.6Y>H.,D& 4~Gm q0cS"鮥\Lq#3jrd}>Lu֡CnTQGm_^=!GD "hn#N]/m]M]ʳ;.u }dEK[HfQ*?cl; kVutlM$>i{S?GP0L,/T̀DA]=^1m/K1 $`ַ8*.z;R*GYRL$*g:H ҁD:Y=/<|/ a]Sg}chdw ~dS .MFgp[xN9" 󗢽?Xl>n>+:4uIPZC2ȧP]V:4< e #fNa->J*"T0λLiMy9~T=R ~ӾwEwșnhqpSo4aCȞ_J ̣fR2sbuORj˙m[\)ǥ7Ц79\2*GZ .7(QZ2%0 ˗GlL?Dlb|Ij:zQ5~^Sh @9\U%ɷ}3i&cjܫ!W z8߃Îx<e_TL*JwePDj?}}p(!fv$Jiu@ƈ5l]?ˍĬ2I|mKOjˉl;GXDIr F;JiLKY K.C&<!hXYO^zg<ޛ8yyUIʻL$V4n gN. 89'4nn4uO҈%ԁP2e ':uqq$S*V_ <Ȕ(~v$m"1PNU"!-Fɲ|6tG)OaI?e}]V̹fx6_ 2!L%mF/EQ*٣3i8Ұ d|^h=.g M]^ 6~l[ZP.ͻP=ٴ"Z/7B`m`^yQ==BPx6" fOJJWJ¢z3Yd'mQk B}(SOYIwsYc8kGD^vf")1̓#[HaUY&N=MlVO\լ^ìct?}GS}5WwMVX,!\g3_^^MbGِO$[7 `7UM*+s[O"S mM|qjTpye֠oDHՄ,2g֏RI#,6n6~"z%} 4Z0}QxXHJm[7s0NH([^ =3ˡ| i{-Pa^ |%ӻb=7l2BC~H톁5SX=d'pEP}8ܡ mgt M%>^WFh5aqbDt#Ŭm!#,#SԼz^!ߊ:3^<&T/nhy2&*+77; \ccX>r>5L֛&-%,ުg}㼽@v4un{\/^T:\-t]:n!Qhlx)wkS5=/YPEΪ64R₃ 0ɰ >fC9L8wU\f//wk`sZ<yEԙr0EqWf6#c5gs7VD3E[-i q/MXӻ*Mkn=u&qs{@Ul޿lҺE'Tu+[|AD'=T7٩i}OJX@^,KlRN¶S&8eWzu *lve4OPbY>2 3[rI- A)8DPšӑ VqKTN̠4562lʄrޭP\"5XjkGmo}43@*lő=R+_ӜPwq u6_Jtm}`&-6|!n|L=}cPEQ'L -7.=Z$eNT%?0_ίn`wbv_(ڈU1#=: JoBK4P^pFNϧ%,-<}Siͩ :^t=Uo"T~4I7* k|vn{'.NyQkXxӟwx  4?1]P¢1D |#S0 zarzT87-R 2CFyH9Kφ^V(?m-?g.9 o!b7ír$J#Aڳ A< 3|WGJxu5+,+:U Oh5NEhnOV0StE2Tm]u,&f)h~8D_x%]&4 _Y|̫HS^ŒŀɏDK.~aN&SUٽd΢)EB)*A1MJS$~=I=yw#4V` :NLCR51Pd 'V#+oxݽ((=*h@,lнFmNF/"gst=j7tó !{  u(LU 'H4e \%dy|} &<0g(U"]/N`xpeNA5Qx&SVdAEе'B `_|ȍU(;Ly =D'5 9`pque,(*ֿxgZ4EI Si `Nsi.3ę2Kz+ Z7{V|Ŭ/1܊N.'8.݋@pL)$ ăUQt ]%#E>XY 2Z3d]Bh4.Z/vy>G/*g!.INӵ??5mdlrǰh*ÂЄS+nҟ:k  rG~NhI3{D/_,+ය!5BP@$>RcezXRPbt)+>q5}mL<+,KRy6]ӶyM51lu2Q~iA934&Q_wVm|Fh܏UOT~XIX*X"5,gTN57MN?ǠxlhUHMgZz.'K DIu!;0ԒxH^ "s/ GUL-^N* I9:a*6dn+KtenF>OWjZ?-ܗ">u/8D?uI@W1U8Kc$;H&bҏ4z'S2 V'5x]>ywY`nΆS@}I0ZV%uj_~ b')2ni8|/fAX?~1&}h{?'mь/)K ]ƴb3t'R@iMK#jc@'Mw_x<wEi?ْe,z1"52[^+,Q[ɵ|?gGj&m[ΐ>q͇ğK'mE.2*е>)L~x^p|2Noե#BǶ*!ҷI{;ܓ4rjimQ:c!r92SMʱ _5őWƵ8W=#gf3+0IyK+w%0ls;/t(<"dkYIAA9Tc 뛑!~=k0H,*9zV6Np7Ao[S]0Ñ%]IhѢLL4e`{) &b? 9s< ]+/9 ~a<e¾SjoV Y~-|w>[tMS3nhUI[H3`]e:̹ikA(Qzkse6,*{ˌ'Aߥ8'L0i?C!*zOs|VxA`WSqL2k?vwz$nЄ*0 w.[ZqѷD<]cd^Wg &"xP0~2#c0j*O/^aj*ߙkkEEӠ/`%\0xI=$ ~>^?>Aӝ98FWahjPn,Ȉ[3;̒|r^Ey'>c`EN2O]iJ+aQd3-aI@|9o_GoVA; :RY2{iy}*rAB5׊6̺圆 (W*fz5!ŨƸ\ݿ "]~}VBGO1X̕{(?.jQz5V-qTp!Q۹?*uI(̭3Zy %7}r x2Y(&|ug55ۚM|P0MazBl)e\SDyENyq'!=r168y=ɶ>yFl*W.)#働C yQf Jx?) ^Pwb  qaq ( ~1\4tLfv)k:3f}]Qs !MvP1ٖh}#ęKIcER?۬9*q\DD 13ЫeG]n6/<[56#pu,==giS#skЋFf f~8ZuWSF?+`Q0 DW& ^ 2~K7_z\L, c~ut&0pfJS2A;n 20)oI7LYxM; VW&Bܾv>;C.%mT#fu^<%.W:2 s*08B=sg9o_ 7@}7Zm^: 8M!-ZMv}@'+D@tzөMXzA٫C׶,ۀŚ=8vuY-5}xdmS#OG,eFD!LF+*em}BqCR\,)\lvE9``Aq 2'D[,2C]tzϹ㜙j|aYyQk,]h.cUHU+k4]]2<CsC5-lm{=E՛]2M ew)kH"eGLȪk5^鰬L }`Xjo)JމOK(0{H'L̐)T6҅dA y-k8+(HR<@bv-㪟j 7 y3k}}6 \fVeiPA>шAJ;> $I[H#"/'CHԩYĩnᴪr^guiăNдX^KbȠݠ!ݭ (*zn k jz󮀁Uԫk$è6h}=g}B$8|#+SXuP>\ d=:CdCĠ=zxK$}VHҔmᓌW*qlhP$=5Q=F0]  5|Ɏ6]sRh_qP qV3cDah@9ImceG` @s`j7Id "I2H *vEƒMqr m2V{(g 2ۋWHTE5jSS:du3MFU@c$fxHd{_nwѿYKMa9 ~9J hY[ nyoZMP]{-8fӽ~I#rBQ!2J ;ؙc+,puL>.wm?Nέ&E:=lc0<%{|ꠒb.(zs5XFvU&¦$B5Fqȅc- ;UR⊞>ees:24rpr ?3G2g5m$#$vJ;ȟ7p8$F?HW\׆Y9:|i5) ؍w@#&PA(/y~ctՖ_HךW^1Lo 3!?@|nwSmYא\Gm*YmTq)ϱY4\"1~<4eXo Sh^;G5 T n,X.?ƕp*%:0BApxn^~"RᱪUC.ƌw \ۭg%]cVsʯ6H[Y)PSq7)żlǫ.vay^ZFXb]!cd9#>ln|pZX~O~R;^e{B -oQS*F̭BTyg  HghldPEަ:NR0x 2q uZx&MO #tRRi="!n%j|MgNmm,) S6)0ῬFGce'?cJv~9?7~[%rn--@FBf(Siа?Zo80 )ӣPR+9E<_RB\G̀oޓs@\aY7T}=WUt&/"QȞ ȱ=%~-FA 9WkeQHΝ"rGztRu'oR41(/m*2K^$F}އyhc9$d4pw(.:fm) J߲Fڇ Kw^]y"jV8[كt[sg] LVJδX[@~z.kGrWE%_Y2٤0a&T17IsDd;~psgX_LIkrgDzd-s`h!lI܆G#>GC59y x֛(kA#HQӝ%QaW铗*[7)۶2˯%2)aMGgD2 Q'#њ{1hѬK[>Y$6:r_ri0tx'tgTR.L6>V[sn~PufJ<}.R ;J(CMN5ZϪ}+{6IŸE-/`\c,9+AIh۱o% 驣's+z&eL<5_1V6tp[ % xv ^9hIg? XƐ ȷV$|B"oEʲ3otMP*Jډy5H"Cvn?80jOﺡ7:eec5%R?U^};0CyIgNMs띘wgBd9-Z{_xz[dZNuxU0_m-/+剱8ܸX^GRW:Psg,1ЭvDUMBbxZ.-Bɣtr\lÄNר*CQf=,\"g(KL%zxg]9 j t%{LЊl[bA¼U@@Lѹ1ЦԽT 7J- ߃ui-4 @AP%21X+H'ÁIl,79o0{Ud+I[w3Kֽad`LSnѽpqcN3]6+SӾşO#qKWb__ָ~Mݚvuh.Y}Ձ c ZBZK9/Vnȉ(vܣc1һV%'vˑ׫`;k`l YZ=Fg'=a\P+AR}˜nU $Bdsuа}&8/#FQwe';@BOS5 JHt6X轁Qqr,D_C>m5q۲1:=c ']sUL> /Jsݡih]&x{,@2E)E#%G@E:/A{E'PM3#bsC'YmMrg%[@ wpXذx:zC>蜹L_i~ .(V) Bz)x%Y*1?j))^FȆAN aMcU{(DќF/0,cOAJFOd8W " ,1UCU o-M!>B09†TZ)1 Q`MY頫<zNYdZD"+),Z/yꋠر*Fک]_j'ئx\NS6Ɋh`N7j4ٜ7J~D1HH[0ybF;J;+Ee_=1ue²!>}y)VB%_S|F<*bMp-ǹj. VW7/6@-\Vxg.e _׏[4൉Lo6eM2cr5|~zLdhRӱ..[]NMZ[N)Ìf>Oy,[R}I7=:O1Lf_cg}y?9i6Q#`εeD&.~xӞi0 ~ph<͕оvddVw.#|-n2v{WG}B3M!aCrml! j,<^_@`Z# PJv3JW [#AmX\Iz {(I֏vҊkvvmap|ϐ>}]@d_* 9-2pPd#J@5`̓=I;mZWu @gv ף&*@F.)S IE~O7r5t56ʼOte: ktsYvoU.*Nl>l)G6Y2- }r~A:n@2 H ͨӝRE۸%ЪGǃ4ܦ`[GeW}ǧOXt4G&c{ "Gbri[w'e։͗6LQUy*'1(mԼ*R/{@BL :J؋ tqڣL?)6bLRoym5E)CqQe s5A)L[T+A~ sމ+rNZrL j6 1d碔DL=.7L65E3B~}3RMsB@g9̤ m-c*GdqjZv'Yz" >nTwܔ2h(fl&1@7س=^Gc}Gs*<eB!Zk:XE|Lh4QJc6ÚK+IQHjb^CjQfX-ܰjik2/Zn'{gJOZ;dWf$\3']sŁai_D3LKuVLdh2Oީm^d7'J(@% C9FqAIK3GsU3b!!Hp2Pb3p7YI-:.,Q.Y38^W!đTi˪ix&I(Ԥ咸t3|eO{+DtP[nAwU9;8x1:F_">RiqH䴯|0*%=!,jxՒ؞P4a%&Qy5evߓ7':"?)b=KBTjRZKSb^nɜZ<.0ӆ!*uBZ?s'29Ffo`zHū!;59Ҧ^߈n.}Sz(-hJՈF֢**ew"g;d¸_sR]ӽy!%pTfIR1L ۘ}[@RWQI NHB۵s?ah~"}GAFb| L7# v9I%7iwJ*B d$V1/UtG;IVnp`/Uk^p[LO{h͕?m$`]U%E*o1`Rl:r=U{,m!k6%RBO8T+$MaK {,߅w"7VT,OKJL3+M:|ݎ|446M;d *JKZ 0ZRq!;nPxH% E^$\+!M,Rs%<9tU8󋺼!aIZ& lz=#qwRA?~2@% v'9P#~؉$ɂ&ΝwMx`WK8.:߇") X}vƒ6BZ9mR;nXF13$X. ٲҊXU7Xe*9sPK6$`HU Ya2j0FlTD]5PYA1X5$u͠4i UfQ 1s"6Q#*؟F.&l)& BPk KONiDQ&nX[k38ݦgUeT_̿Hq9e۾(d?!5~]X厍晝_2<:ǁJ1_pmo-8ؓ0J)fwF-pz*`nxG%Ÿ&+̺CӨXt;CuB?hr.7?LB*~7seűOʵ󢗁,_e S\f8gA'7BjF󇕞-ON:ҵH"iD7PF=Ӑ 9f(a͂t=Ű2npXJgYF;USxs#b!;IZǤCB(>e?Z %?53ll +Aoy a$u ?RA**of,Ѥ_KčfzXEg"{/4)c9\>$Y9*W`׊]S8UPŕ4^㿍1-P^Aaa˼4W,lyX,0L1  Q_&-w?}O)ݖq *pHn)eG?nep"iwG]ӹ1aN:OayĿT} /w+0ov8N xUZ{]#$rXF+ vX)ѽ 6mn-5IY30=t{I_(۲FZ9 oo|τF}qI!KkpkTkӝ'/~|Oמ5[Ōv]= ֵPj,8 c6[`0[pJ #prze|J_Fdn=hQ 4]n)r4T6Vhr6lط> EW9һ+8 7Ej)&0vMBJ L9YU4_gr*~t8tEPeKvg(~XZyٺT6cmgVd@ 2k3Cє$z՘>N>Bu6$(sT+vxt3J{0QR&e70Lcqg7 f`˻|_9eIYYH=zU7E`ӵk|d3FtPyyEYkT<ՁLofY5q'& *PX+BGZPHҸ6e%e~IϠ(5:pety<몺{QqǮİRG7Q pЇBPtsY립_W,NYMQQUsGs?Ոn3.TCYG;\0`>Zc\κ2i$X؇@@?(oR|^L;9j 0U}J/gk6c4>Xq&T6y  i>\0xVp[$ݽXj2$s[jzBl"6L6hu,;:yO@XGϵ-S-zBE8#g%~ K;&"W=nN-d۴lE4V!#ܑTAw$[fP^"+*vuv2"MdlNWmi萓p*ݭu+R|Gzτ}WZTWZKT`S8R71۫=8zmk؎BHOmkC}j;ACG7LSDGeOa4rsyݨ00T$isĖ9SQXbw~ukjMQo;B5l K4E~8BAb>n7VЋZJzAI.O8yr+ᜬXQ]P5U XLa.׾#gf=eLp{so[1Ք88ޒ|\38*r wX$϶+^ut؛\EY@ 27BYM7]VJDHM3~'{PwTgEfJcFX\@-L,qQ32+*1|$k>gmYOLJFIZ8n6 ɩ`[WALP7ODКEa 5_n,n& md;~NyEy'PMAarf._>oޝNAzG7!D+5rZ| b~*E@7pJQMsZvD K #% JkzM~A&,J/tzxRh\L jo#DP&#糙xz5!B)$ ǔ3Ypy/wnˇ <+x;$+7rG^kp,Zx†B{=7O2~ąY+R x4vAbREY]0'Es9G 3:v,)s^2ѺC;,N{%plA⨍ OR5!saս\@Z ,!tQx2{޺y2T<%0"B99 /= h&ՂMLA^K,OpiLFCbckaV:{87w\H"uQ!uQTy`e"Hdۑo* Lh'LaHISAKaz{6 eM˱[7=5xzfAz2zw7)fEft]WELk|b[" VEŰnSc@QlQɑS:q;6.YX|PAϜS1[u~L%~9O" '3 tE`hl'U\f7yE()WgQN  wPq nj]\O {;NG\ZUpI5Um3W, UIA-~˫AKڴ!%T\\̐h.E Bĥ E5~!pk=i7vԫ! wd= |E^ӊr=U.Fm-Z aBXUĒ"66(Q6-V2SSC,G"X5e[ʼ((R]6L8S,R_jշHKHI;BDp_- Qs JIi+.OynB<_ ̒}yZ@(2-m\>ӞAyՉE+et˧b9ck^d0HKK?#q8\)m%YS-pNV,? tBtӖIDdK7rhedi9Qf_h~At g-Ev8MMRBHoZ8ڂ /c1uGAx W>c%XVcF_v6Aj)uC@1?u¨ݕgKN:I{*Ϟ X*RENt0NW,T+|cCerjx\u> a"}cku8* :t:]/P}2؛퀉g3K^f2yMNy%b؋&թ킬yif ^y7DM(}SJ{#Egx bHL1sBTg( r=OgvzIJ_+Nr\-Gd)ټfxӖ'.?:CJFTZXDK(5O "öĮ kwK;Kv!K{yiž b(Rh 3ʊԂˮzyȚ{w h#jlx9D6/1{B񓈕)8Եɤ3IT/@(:#pkb c[&^|H2Foi v*ȌHz* ?" 5#;Q,I]e4Ǖ8DQ A<"{sbՁ3/(ފ=TOPz-r.2]; ܈%jTSevP+ƣKT4='S!w֒r|OV3hUW[I~D{=JeTf\GxΓ0#j*<6gku#V$ܮu(i&_` lhX!?/z4VON(O 4Tp`:ۏInY@&{(NS-n,vf'bH@B9uDzZwq#A!4(~3pHԦ!2n "%^\^tt?CdX5E[68ưWuQW<^D+w[pc̑XB^*)6wg0)Xi:LwLM@qBn4⺳;gk>逜犙29PBKr90]jVE|ؚo+1H2"̰ :Ŕ* %+vM"}8M2إJ6XS)#Cx9ۧP%pG/*uM&6HUzpgb:؆BFq"]A $X"xx"sqbs؃'54]ҼiQ!zׅ .|'6zBQ@~6evR*Yz. H!&y\ozg?7zC62]mu̥զv94^Alݻ8RRF#JLzbda(Ri2雳q9Kets9 z5 G}7 DdaPZ:8P)9Am-QqŒ`/G[stN=gPɖ-Qd18p9~Ww F mvcS6mS&5WE r0Ą!| ޯL,yt3,Ξ x O@_RoZf:wR>XVN <|Ҽ7s?UJ1u٩jJ%R59(9֊$VĘYJ ~szt͒1eix~b{UK,nWJbFWkDžv7dRrW>;?фF7yrSgHԫZmeo/jV>8~EEHRS6G`Vje֜[+RxiZm2DCGjxd*hL2էs@{eXONo{+ole|2g]I Tf eꍗ2 ;7r0P>wϡ4_;[W*QXt!)8')[ųv9+!ykGRۃPh!\b+ ==|WJoU]?y m_ZKjh$ UI`[R-\Ұ v֬kyBa`5wfom/]}CFk$q6ld1G6IX6s&Aˆ7~',j{__TDΧyۢW.cP:x(?!16m+&D`J:P}_Hi^8QB:tnap"Q.H?b4M*lB y9t{$Ĭ:a1j:P_H ở`N`!}N\0vxN^sd ya %ߪ.q6HV[](z â0[-6X aIajWи~ ?`2gl5֕sRV CjE[j?eR8`3M7W0wU ]pz&Ųs/F 8>փcKs9x\JGU>l^5Qvu2Pa W y*`5&V\gajUzȕ0q?QOX3Z׽!LG SKWYra۪i2h g&-d:9}̡ٛ%@=; 3ugT+K՘KԖ o;wɛLdYX8fC_G嶉 ~lH A8xIkΤ MN6hUpn֐f kތ@AY^ ~aSbvR?g~r$AbO]Z.n|ܝ#%gz"駛X3[6Tn!h! FZ*ȷx]+a*SG^ XzjI7 _f(2Gg3 r0SNlhDH8Ő]nsܬfK&NK8<8L[͘[Oh0oG2-[M5R" y|D3 OAhz|A$k5#5bYM΅DltzCGvQ9&9 gV2є1ͳX$OUuvGjST{m~&cĴI!0ty&*YINB؃N o(6!p+Ѫ>J_CfPt&ؓm)UvNs:D#h;1g5EE& :5qkBh>$^2 6?WZke m%yF!x،X\$q$}SO@V.@,Ry1nq+r0.G՛H |P#¡YY[l .{bg!Gքfa E͋QXd0Ӹ<lBg)2`pZa%!,[qD5ǃ ꝄAk L`T#&A܄È0r1jUU?xFNlE<,E.[W[wMOM@w.p<#I>}`3w>[<,ҏU5yxdKdJu(x1&ΈiEhd.oJ.b~^x~a/0<kv^ yߨ|+@ҥHVnM:@XAПCW8o^Nn8 -LC$,uSP\M'|hUb Z^*E/^W8]8C)?Z1PNwvJL5vӓ^ͅyTu3 Y=PrrcUs,@J*Z4pWiFvj}TPֿ-M[/Cfp}bEhBr }B9͓7+)r]gI2<t3\ FPm=AKb ]kBn; Mm&=|[Y)+ZC,D7*gE8/6_בD_OߠJ՞ִ~[L6\tkKi*Bae]P<:u2ZatMRfox%c$8am,DN!Ӓ\3j4e`u }qj.⸂d4dfzmux)M)k\iqLD2Mt*ۦmSJ~"6<-;!ܶpWQ蠒RYS7Rr[ Zk06ԟC*gvZc)É^6-Z$^+ƤPl{s([D0ߜ6hN7iԾ/$ Zd*/0$B9pXpO_+&a~W,-PƁLnshXO S9腋n$k )a~(B~V=tW}ba<;!l[xhs%fh̽iD0= tc5/>U.]SEz{hU}J|Ă9jiD)lqw~5`'PJ w5vR!mX䒆1uyR+{0TWPnF D\s9`Umhj6VkY~k0, <31 iKu HcMhIo'^d2ۊ IX#O9K> kbX RTgBT.A0}0`T*Rw(Z:S$t(C+ӲhEt{l&pf!0E993E}ܒUOr-VJs-d'"Ss4]yp~B8 Vkn͜bB+k0&[ּL+!x.r+*CV(=g-=,Ta1c8fX5Iۢ0wSJdrEiiua#dzqΟ(1ωFH,ʔ3%}4qGְh >Jx&Ơ)o}w:꿥J RǀaAfh׍ac V3;%+"v5,c\D@!nUUX-*Ec]^2vT6gŃɃ)s`F7x4[^߼s#P4z-xaI` +})b[ Ħ\s:"ĦGo)d?{cz d19zi0 #a1G,*of! +AآCU Z3kvU𖪀/4 ұ Q}RO7HƼe StPIO<`әXoxb c)$r$x ;dr7*'"!f51OxCԤ:Yهa(N¦pk[:Uo\L /2&iBo筂< z)6k$Th7,j맘YnAz}Df&.&E"fB27P`>k/f%IWr7{%4 nęYg͘UL5NPMC !Ok%^>;fv;kP\y/)5:ڈY${JZ,p*RH5HeU'Ux3 =ȑSTOwE6 VOlmIL8J+ Q:a%:KD51]S,4a̶ހ_7τ,f?*v+%KmƐƅJŲ-av{KȽb`Qz`B%E_`0~ +M^F̚\ һ|r- Soڭ$ZIqDis.X}'5ޥ?X^X| yP ES N$wȄʖaڀv/kDhф-8p栍ϞqdĚb, Yg _~=7AAy|ԶT\~ڽmP]&ʑJRdiܴQ蒹T1gw+ق(HJT;.^Y]\>L#OrLy3Le 7 a!dޗCf0P_oQUDe~wݜ< =iG 0[HM:vs[Z).V7@mBQe[ne^`MuqC=9@ 7oMVG)Υu\ Mp3ecFhdB ~R;`:Xɬc)o倝4o)S\ HG"\$ ,3Iue}XMr5Y~kKݍ}Ә'l$a*؂%5.WI&։EO+} CŤ'1GsoފJ(\a i^R!*OTl+Yg*59w_#ݮް{'=ɺgYiLriX@;ܪ*蟪Gccو-k~wƋv=6jOM.Jj\x:êN8A)j]>=I$iGqǓGDL?ZR;RX]AjURCY@gOʨ| 'u4K+X%d:60ȆGY|{:`JC5ܿ T !گ(dqo`g"J#g 6OQ` ߭҅/9 ./%>~R$UUdn~V+i#{J_I@)rQoj|#֪\X:Z$NM:B؂0(fҋb_׉1!"Kz"8.tCzMLMȧĩ۠!$v bºQ7mᏌ(S}#QOr  r'A#r9ڝ}DNcפ^Sʸ e;f!mixjGˉ_hϫB !sLJ c7,&?uߵVrl$eH|C j]_>[Zy4s.75pc>JYs~SB qF(qҾDai1S]E,; ~F^A87;A.ҟ\Ttpl*Y֪k}.¼f9$[AwxCfp#ՙx*p4ctg.zpVvIAS/nd)*k`8\< ao (o+3!'2X|i֟Δ\T;p>#Gu4-$9/Xj^209c5]U^p 3!f v3"5w-V[ؐψ6V TybEPzΏ~tܵ){vmT/=:lD> "@l~".k)![L̘-/S`JeD ].9|=]OK G=bb]f{ GOe=SuMCa/L4Zm;) Ү2Vw\>Ǔ"m@ӡ̅xP9 pZasϴWq%uY%X-nuMfu4}HېɠmiQQkSpǭx_ KGfp3Jw3;6o | alzNAKP>U̷cUԒ0ܾj8r@*,F7Nӯ=pC=В\q;͗T„Gbyݨ{`}_O1(HAq(>r4bF2sO$ތe|ްK e( a6cyODhim-vrTM…B 胕ڟsG@2QF--?QbZFɌ ?1GBh'0iR͚.㪪fVuc 8!x 3Z&[$t~rĉTUaCܲ!^1^|U0bgWQ w [R~'Bs梉ES*/HO48 Sp EuWISR *sⵑSwm1Kp0|`d=,?*ϊ+ǜQƶyKXKZc(TzNň?Kz&+-$v@ 3Ka䴉1K c/;5O~{,t:LycfNq8O#yϓ[3}r wԏU5 s%Nj[ JFޮ/S8Y%Ve'vg/Z:j'F!>̐?uj5JDf=>) 8P)v7*(,YUMV6vMx5WS|Wepf9 #LVTBgFVkv{[ņ=gnJL:ؾ²700oj̶ ZMSIW{Us$ka:t5ibRbn:vW9^08ԉtu43SHτ)I.~W׫Ll!νz)'jd_ 5.,轚Q "ۊ.&OiK{I,FIDUڢeƲOi%,s`{P , ͲbɆCt^I=KdMcesYNt0 VU0b5#ֈ{wf8:`L!y-I c+%kf΀L`LCwmĚd$bo2{Kvn 2#D\%ϵoIP =XU;rتA=]k\-ˑ)ʐ߂Jr^˙R=WO T[k@١UDZ@&MN*TĠ95D\Hc8X Cm-&Dge Oŗ,6jڴ΂ j0{[MBiUGPʄbSz6,f5Odk{w0;?#*tQ"v7)@m0sTlԖN%Q;ULsLAQtSS1/Emmb/_CHna63HTar%e|J\Ä-I*PnGmvhqo*Ҿb%_n9 ofm窖H-÷WgB %o:IMG=x'2fȰ>*=Dq̤1zˍ])qO8H&y~Yvv4`YYZUDءJp3`uuQ):ñX& $۽j S_X9:ZBX9/Oq0a/h&?-1YlDҕ=tKG8":q\&8jdmm> ~a.anpߜ\]2EIғ)09G m$p1SJ<%4k* FX_riN0 ;m{:a(VOM-Jv1sW9K_k΄{R'/3CeQ.\92bwQBn~HWY#cgxkW! Xl3̺Ψ1cځ) gZT` 3ݞfT8$bV-dD=бޖʉNLΒtd+åIVn3]es#{wZ8u0s;`:HC;x-1ݠrJrˇ'۬22@_iyn ns2Lw >ZU?:L3fVE\NۡNl`%J%+'Fz͈'$ԎKU4}<bzI-kIxidr1>Y͸Qh^%24],{HpF[z'O#ƘHD\?^OK >i/j^jHyReH"-;SGmm\G=3~b/ ^psׁRˎvZQ#5vV(9.BX.Qbdfb~/S-jz_/:Q [rsT07BF1_~f'8k%Z7fػ^%cҀ.6A }GZg{984&fdM'լ~;R8IR/B#n@r} ø"*BvHL 02=OC) _!Z}td귕QsBwb 2>| OR_AKG5EaWp~tZJrS8 Ū(u}ϧVFOcP볽?l= HRۜv9$IךеLO9a"6 Tƒ7%%ҡ]x䏎.& a7)EqHP6SGK8IZrFI- ;sX8<{f ]XA+r#Nf~6sa͛[W@̿|f$45#f7t/X Uշ6ݫbHuDabn3VyQj<q&c%dʊVkoҕDdQ$uNFV ^Dh}pVJÄd]OHvxO4xXUv|d:1JxsY'긂T퓙9c^"DJx bȣ_/`!V, r5EK%8Bn< (!D ٪ĶЉ JU2Bt6Dp伖U,0"'s#i.ܥ%EV$eut5̸K:WV v 3AG!4Ys,KA>l8DmeBVy8~@%>0:,4V]?rk7]ɘK7@?._/+òamkDIj^W Uʥ)u~䃪71nq΅.2P2Ң$jP+͑<+T)4%ӂe{UL>T $gQz&wK^³_P*Y1<6d9,oGuB{1UA30oXz+Psq>fRU2~?8J+)N].ElٵjʗHW+Qf;W.؎לڋ<v_.UAЕdH.55|Mzw /PiBG$)߹AԆQXORA-5OQ>)/ĘIm h̷jpI~MIx6 8^hŽk7%A {wIfk0   t.&[ -c#0*!>l!Y ݨ&IirvSbq3mh"@%]~8%Q%ҺnS}l knǎLL :L RВdN1NT58#Xjp7:]GeD)G-m;{-dK^n{(Ph{%|Ո$IP=--7V^ϤؾGk!$Ϝ' H ٸаk} 4T"5r9QIc.# O&gJ8?ެi|mACp|y[!E=/S?>WiK-C?/^K7k7U#S>=K1 1xm#:guAO^>4VyHgNNe:ڥS^%p)kH =}Ƅm}rDMpʪV -[@WڷڝYqN$3634w+F^$*aJX@fzP> *6tt#Вr9E]x;OA eTIzL*5qNI̜\[7<:&2b-iAur$n֌v0Nf3t(o'+31MEusSRKl!kȕ>&eWYe3RjDILu 8u_뙗~u*[Wov Oyx)Ia';d2<)ɘ|WEÑ3~zg06s:tL & @3'w62yacy(ٜRg(b!{÷ǖYPmRĮ~jS+} ٘:UX$FdMG#.Lg 5^@"sĘ7s9mb=Iko[9-"QGT$je#Lhy DW2Z95#w,oJnäjG!'ĴFhu]<1 ,YT;%,4/A{ng|"=pkFm@!,O[ Đ)"> m4mɊ >5Vt#s_ƺT;F*T0 86stMaEp"%$k=ͧ?#.  S/,fL/hSK]6zdWTe >~yRiLM9fI[ꆱ-u1)P+sɕycw #L w7 DS>_\bGǟyɎd(_^ ?{-a5fyJ=poNO|֡ArVQ6ݫs)&IK20h%#9fzPT|-rU% ;6 (.j67A7 s։!=y+ip|6#Pi:8ĜMaj֦KnsO!-ft>=?G ØtK/֜R%;_Nh&WXVy竸6(:7>>Kk^dC$]vS?V;1ƵXH|u'F ź %4sd䥳k!#3? '9;b ͘):ߢ-jFMw=c~|UGxQSb Zc3ZK.`UHpDNtvL9 aVTϩ)R9K}_JStH87 T%)Wl)^^e[AXOwkM;2,g|B$8iAQ{al h]] .#8-ܮOjW>uC~lR10Z zFI`zE$_D3aNĠYo)bk3Fmg WShN4݉Z0-.0*`ac$hdR骑2U5 \ŽAJr#"4#U|,we2۟,_S>w Z Icn* H E1ewc^+T\!7;UFbMdw_=Mʱ0K>.]_42ztkC.7'N]JM0ߛ p,Sh sss" y3mT*ݪI:2JZO!l|Fޠ)ŜQI] RzK=Z*.U0ԑm/[$rNF_N:tڂPnh~_ 2RA$aAñaX\ ~)npCD~xt[X΁A➙i$qr 懢/aE޳we8N]-aYA;2[<.E`$ic%C  >]\Z!!U鯷|ahv#vM'b,f`TfBBdFeIޖ ~"ii^o+!A:.1G*vD"u ͞ڡ?icsqЄ fN3WF#jK0Өj+*ٳXT9ypkL Lb Ip+YTu ΃G3l z2Awq-L i8FSZ'MLYC ݔWKxV y> J$|4cZgur2E\!u<q&$L|KǷCfu AL Es6KB! uIoFy@9מ%Q4wfkrf(b=DcWeQ [n(:$8$;aL::d\,zx# C6s:2W嫉Gxh3[6LNy%=kĒ)~5E5͙00!ԗE0!Ѐ.3VQ8)KM )Xj[ D1Nt3Qa'~>Jp=tYۀ3FF1vgu >: F*ހA&O4YJ7HwKBg%xb h3Ul"G?ʼn\q>)R# 0;^A`l-K} g|8JXk=Gi}]%7̐V8ᒴUFM0z}=0$y}PېT<|< )O 6vɜ1m9y"S 9B-9挸E,QtX R^EV<ס-2ZNGX`uBA21W*86nPy2uw~LnP4;w{O[ZQvN /wr=ZC%͕>M}$3m[9 a\7^n_㤵QBmz<5IX I@ROTY{ˡ|Ft/}u/xq#T 5<0* wZb9$HPDS>;;A$ vT@/NHbr7g`kwuEjBIq FpMxvڀ[m3 c>Dƍݫ,ϹT[4L; l,tVT?2*8 !vs `= bO*>{DlYɩ@ǭ }-GR}"{”\*VSb &\S*7cTYtQ:zj<2EV;뇣rR04I YAf#ݯ]R .U?6ǃ0w̞X5V>ua<A+IFs,ۥNzt m$ Z2Jfú-\H@3I5ݯ^^e20J0SPQ{+ }Z^#SpFc ]c(}= Ump]^bOê!dc%.=OWPXJfz傕KXT7o2'/1%5z)֤K*%a<7zZ|O2{睕 QDv϶?Ѥ;Zs9ˈ KAR-bZH-$F|y:6zlFU(ӸGC/WƻwIW%Y*vKߡ .`" #G YZ