python3-salt-3006.0-150500.4.68.2<>,ip9|G3cCwA(:jmH?\^3a&YjR{G![.QxxE89alf}=Rcu4gtUfpp5n3bFCT/w_e%oJOn&- jŨ3ua\ēoi)#Z}#kVW*2B+\h9ԓ_yiҌ,S9j304 s[| 0Qb^ 'UFk0c'dbO2>L M`? MPd $ =`dpt XC `~ }  E U##^l^$_D$ax$(a8a9h:=vS>v[@vcFvkGvHDIXY\] 5^ ?b a_c bd be bf bl bu bv hw dx (y  z K K LY Ld Lh L L L L L M M  MLCpython3-salt3006.0150500.4.68.2python3 library for salt Python3 specific files for saltis390zl37SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Managementhttps://saltproject.io/linuxs390xfor 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!Po^ yN&S3Z(!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{: & 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]!p(  4Qbp ;E^c1J~SC"co#+H|K<;) bZ2a33SRwAoA0nGb8 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 ]@=A‚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)3m.K - f v 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 !- O" ``|% `- !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` ; yTGlZ# 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 Z& >+ 8 v;js6QE\'34l!sbU > ,'@ h 0Q}!anY4 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~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i{i~i~i~izi~izi~i~ii~i{i{i{i{i{i{i{i{i{i{i|i}i}i}i}i}i~d?i{d?i{i{i{i{i{iid?iiri{d?i{i{i{ii{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?iid?d?d?i{ii{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?id?d?id?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?i{d?i{i{i{i{i{i{i{d?d?d?d?d?i{d?i{i{i{i{iii{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?iiid?d?id?d?id?ii{ii{i{i{i{i{i{iiiii~iqi{i{iqiqiqiqiqiqiqiqi{ii{i{i{i{id?i{ii{i{i{i{i{i{iiid?i{d?i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?id?i{d?i{i{i{i{i{d?i{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{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?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?i{ii{i{i{d?i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?d?d?ii{d?i{i{i{ii{d?i{i{i{i{d?d?i{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?iii{d?i{i{i{i{i{i{i{d?d?d?d?d?i{d?i{i{i{i{i{i{i{i{d?i{d?i{i{i{d?d?d?d?i{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?iid?d?id?d?id?d?d?d?d?id?i~d?i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i{d?d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?d?d?d?d?d?iid?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?id?d?i{d?i{i{i{i{d?d?d?d?d?ii{ii{i{i{i{i{i{i{i{i{d?d?d?d?id?d?i{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?id?d?id?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?ii{ii{i{i{i{d?ii{ii{i{i{i{i{ii{i{iii{d?i{i{i{i{i{i{d?d?d?d?ii{d?i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?i{d?i{i{i{i{iiii{d?i|i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i{i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|d?d?d?d?d?d?id?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?iid?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?iid?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?iid?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?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|i|i|i|i|i|i|i|i|d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?id?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?iid?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?id?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?id?d?iid?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?id?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?ii|ii|i|i|i|d?i|i|i|i|i|d?d?i|d?i|i|i|d?d?i|ii|i|i|i|i|d?iid?i|d?i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|i|d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?i|ii}i|i|i|i|i|i|i|i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?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}i}i}d?i}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}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?i}d?i}i}i}i}d?d?i}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?i}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?id?d?id?d?d?d?d?d?d?id?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i}ii}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?id?d?d?d?d?i}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?ii}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?d?d?d?d?d?i}d?i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?i}d?i}i}i}d?i}i}i}d?i}d?i}i}i}d?ii}d?i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?id?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?i}d?i}i}i~d?d?d?d?d?d?d?izd?d?izd?i~d?d?d?d?d?d?d?izd?d?d?izd?d?d?d?d?d?d?d?i}d?i}i}i}i}i}i}i}i}i}i}i}i}d?d?d?d?d?d?d?d?d?d?i}d?i}i}i}i}d?d?i}d?i}i}i}i}i}i}i}i}d?d?d?d?d?d?i}d?i}i}i}i}i}i}i}i}i}i}id?d?id?d?iii}d?i~i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i}i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~d?iiid?d?id?d?d?d?id?id?d?d?d?d?d?id?d?d?i}ii}i}i}i}i}d?d?d?d?d?d?d?d?i}d?i}i}i}d?i}i}i}i}i}d?d?d?d?d?d?d?id?d?d?d?d?d?d?id?d?d?id?d?d?d?d?d?id?id?d?d?d?id?id?d?d?d?d?d?id?d?d?d?d?d?d?iid?d?i}d?i}i}i}i}i}d?d?i}d?i}i}i}i}d?d?d?d?d?id?d?i}d?i}i}i}i}i}iid?d?d?d?id?d?d?d?id?i}d?i~i}i~d?i~d?i~i~i~i~i~d?d?d?d?id?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?id?d?d?iii~d?i~i~i~i~i~d?d?d?d?d?id?id?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?id?d?d?d?d?d?d?d?d?d?d?ii~d?i~i~i~i~i~i~i~i~d?d?d?d?d?d?i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~i~4688f5cc4231357f591cbd3920987d24105d64b54794ad32d8c59d8bae9cf34dc303d7f09bacfde446f0886ed61cac4d9918d9eb795be9e425b65d383da5e20607cc9926e6259af0d9a5829c29feb6b8d60e06f5f7bbba411c3951203e4f5a5a1722cac18739997330b2fd69c46cda50c70f488a9990276f1f08f71f7ed25f14d377ddcc74e4809c805a9ddbc9db83aef08ab5a02af2fcba9b4e282cc94e16bd01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b4ef3f928644e7a75f67ca26e50d0a9b82ad0f94c53880a5d6f9071f7055b011601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b55da85015c8f40d662b6b6ad2d116deb042180b63452a637d2427748d48545bc06a4b397fc7045eac527c2aec3ff46cee5ce30016c760f238c26e79902fe67b60b66b5b800039b0874dfad77351731fda55c129c3e12dca54a44bfc59b512c1348cc87da31fd260662b68c4385a95e105d7010796b43613a91e06ab987781f7b926446a3dc47e6035b902ab76eb9c2917cd1d57c0d27f4891507713071c0c049f12435c88be4eea6f7c1be07076177a6eada35c7bd79fb2dba43410c45f472508a26b916800dea1dd10878164cb1e1ee418b0ebb165784ef142a3c064af5669c80c59cfd840a32d2bc64471168b579509f69f1ee24ef88944b9b95ecf74b9538c5306361bf54c173cef9115af642017592985f93fadc322a33b0611bb94ba305806a0c6eed0ccef57d0fa2eca8511422e08b3197b73788f537227556f00aabd874b1e77c3c353082254f2b38f9d3174490fcc4e4ab8e3872c7ef60164bf1164cf5dfb83d1ae9cbc1ff26d2df0227181b0b91a15b17d28da1054f7117955e333b6c31521c639722a2bc75b5f9c3a71a8d56484f1ada0c313505e453cffff7dcc455532d9e9373cc708500d74cbb75098dea7fbeb27191eb16ab75cf3f67def96c4677bdbab91b33ea10b5762d4a64500587793dbd571c840e6479c2c75f5eba3262bd364951b3bf3437dda24286bb41824cb929c08a8bf97f140e8bab06cbd39e1878fa1c308695800eea9dc289cc43469d79a00b4a4a0491f001438a415f9e7e0741cf90b826c116e7682ecb12f8f8c31e631b731557b26bf93a77dc60fb0507f61fb1f0d6cb1bf0227c413334c03ed0e5e4dfd2456f65814f6f0b1df81096b451ab7af588460425010bbec8c0e837765951dc7ea1faec91675f97b0efa1d8133b76cf772306c636e1717e16134f23587a3be739a6004c98c3cf94db17df167b683ed17d8c5ee490d1998b55d02d3db22d972a0cf3a12bf88ded4fd5d7d1161400f6574ed1aa464bfd9a582b57103e69b8343d59c7d68275af21a41aa586cf0678eb04933d73c09dfaa5b53a7d574af8112c5dbb201bcd0240e6e8d7e281161a7dab5131a8b1f71d31fc33aff263dd92289276282c881823e80ebbe365f84d09ce0e22235af46add056fa5bf5b6569acde53986d63110efca3de85c395533649464de047c0ac867d2d16847d889705bd4e00685542a4f531d0b733bbf4e7a4085a776a5928e5721921c4c8361abbe4c86c43b747e1019602ac2a23d961ca4d4c3f448c71aa1eb3763dee1fc1b5f6a183f5120df13cdd1823b608c7f45c1773475a3d0b543f54d36c0c80cc8ae9fc1a3bcf6ae51359090cc7f5805aa9707915181070f332ffa5d1e40e98e7e9ce04ca2bb2c09327931ab5cb7a23d8a91ca6d93357a8c662081007369dd32c5c8fd0e2d00d168776e60db19db120ddd9d6a8b88c2bf93b18a33e989face4b31a5d32c827e632eb7089464218fccd613e45e1de76066ffe4c0ac5f8211801ef53132f5c4dedb9836be812583433a72893232ce16c09af97970284ba8667834359489e2bff18b30a0675852dc36aedef8a3381cdf075e7ef1a94d3a35444b58d841ba529155f115c08520468c6ac638e3bc02425a0c56b9177b21a74586fd13603d7a0291d12d02633986955b5313acdf53585d80c7b2f4bceffcf76b1ebc7990b841d3c3dcb07733b8df88773e894a32a4e308f951e30564773ffa595fd4abca437fd6ac0267611b70fdc06e8bd6d01693531bb134cc9c325ef15169551541594b82f5c59afecf6cd891e77a4f350b0b3d4a0ab74db1623a9bef2499b99858a033ad2e57b28cbd623a9e7fd009ad4cf9d74c9fb18ff4e40158fb299a8d4bcfafbcd199114cca464564534d8e683dacce6daa2d33380afef35052b0a511c105e8f2c016e3c55d6cf02bb7412b2259ae91436212ed6c930b3cc7e711be1baf8d8355e4bbecdc10a9b0f46db5a2ec901b8899b5137dc3d21607322ca8f2d5c00866ea1d918b78e1b9db3f84b11e9d80902dad7db68eb0c03ece28afd81b178222a7983d794aacfca5067f0d8085ceb4f89205bb63cac3280801e035aa4337611bf9ba63f235f472a8e5960337289f038aa987f6cb5f7c419b1c3ca55b3ff13295587d7f6108db17209bb27fc5a8912d11e66c7e07e7eefe6172a518e8ed4a405accd88de848dbddcbbb2ba04c625cfbcebb341afabee7d67974816ed7c4d8b4e053c8a890f607445ed18eed32f01a64d62b5a9e783c66a4d84c9996ceca717e70c992735701a334352d16f8473a511117944999566a5f742f923193a66c9b5efc3264b9c99c2eed2f1abd2d69021492a5f46eee68c3f7ebcd4c55e518d74c983678eeffe09c5c8765e4d6581dfb99ae771b1ffd07113419bc98d51b3ebc0b5272215c4bd67ea8c4a530bb81d3473cf51ebf61f67c5d10179c59faec4dd9463663dd2ca7bd60129af75e7fedc27e3c66e9c9e2ae072fc1779c87d3e330fe765600eb67a7e7820f854dde564e9a1a6d64e44319cfbc128d676d6ced6a5e99bbee9c6e6cef18b07f3a66ce68c5bf2004dc4526cea7987ce20fc0717821d06fe5a5079140c66204e94dd4544533d368aff363912fb1f039ae47cd270416112814081c1e8c16a01ef4ccdf79189ced00c07f48f6fb05510849b0424c587563e2fc5a0998dfb79d92ae8031ed52f0198134291f12df44312cc84f717bd970bad2f6e07da390dfab1aeab24a119336604ddf471f887c5c0b62e8880bf11ac82400909c45b481549fac314d41f81007991d6caa047689059afc6bbc410b1907776c8e9739fa72c89d14437dde68ebccd044c90a3f898f0efd9f10ee7b1ffdfc9587669757a30f588053ae89c770811ed1dc1c5626c3b9e5c42d5b83792f5a7119608ad5b7036704fec345bbe3b8e3d914e16d246f4de8491e22be1da575d8b6c9d59d8280e698ac8ed17acf802233138024929c6a68eeb290e479bc0f9d7f46667308c3728635c28e86040b0d8fc63e81b7aaeeb32fd3abce0a0055c8094f5b154bab9c4b311630fb95c5ed7a275aab17ec7f53a6e161e893a58ebb9ea28b00253b327fe3bcc1f8e427c3a2e9b317cd490bce94462f3d67479eb5610bc2f3b966b3fc5ee434a97775242b90d9d79bb76fdbe52a1901bbe335b7b52ba1aac3fccaa0f9584d30b72943084787ebe088af643e113c17e98f3de758d8e4a00dd69c831417ae90e4eb5448bf67313f872686038dc3d751629b6722069d558ecc66e71b11b94d87083f9fcaf05452bf842fd04e5cffbc2d894558efa9bb079ee73efc49f9d0ee74b504a0d16c817dd71b42682adb6f795a0f0d1efe140a44e908ab0d5fca2aac93abd5472b3fbdaa2f4778b5d1578e098ed774d2bc6f1078bd9f8f98f378dac25cb71a35163f5dbbb69af421c5cac41c0021b3021ad50acf5a7d3b4cb4ebbd10c179300523e434e7af32458a68b7d47b70093ba49ff5971021e77c2c6a174ff150008753e60c3f9bc68925b803c3ea21f7de10aede545d3a52dcf5649eefbc1b221ba3b50c54d4308f5ebc4fb244f62418425b1e9bea198021e3e995cdeb4ca52f2577af52fba626ed4731e1da713fb4dc1bce7772b7445180613e87363b567f839d1fc0ed5a548bc032d0e7d25567017ce4c6750dc507fb736a5f91812c1e86eae62f19498cefacb5ed5a13573f729d19f6fef725b6920a5be1978b06ad286a5042e7d2faaffa9cb89c61ac276b5a1c0c9a62ffefd4a9e4b3f81f4da11e9e601e36b52c6a0584a930eb83c66f7388aed11412fdbf890e51858a7ccac13c6d651e0af56ffc237f232c0c5105101fa540798fa71b34aa17a8af7d50d968cbac7b01bb0dad87e7f69af009fd33dc81f28a4cd2671c0a28f8a348c25cb960ed8dc7f0bba26b6f56d1328fe72e2a0737b2ed515f0872f04f87556456b6455357d8f90fdbb5694c3bfc6328f8c7fc1b48fe9d9c15a4498df1fbb1cacaa28a625ff6b16bf4986a8a06f88dbf881352f390ac6d6a008b135c01d4734824ced75a0c895b4324102f2c85d7d56a7325930dbf629f9fbc751d72f0d0d98784ac6cf183a247a79d2c58f8ed3935014402798219d015fea5fde279630efed16db014dda6506d07a4a6f40bacd0ae2b4690d1ddf6532dda8edc5e8a5a695f2a751e10103e6883aa81d5bd4e0dcaaf7732b999293e18125c38d8bb4b589c45e8eca659a3544cc9798f0838e369f857ea087531ee7e0c374a5f14d5bb63883aeb81263f5aed2318230d0a567e4c4754f2bba525dd89fa3b0278024ac7b2bbea4a1ac2b8fb1fed0dad4d9048f25dd5906789b0ae8984e4114f7572483260d164b8a0ddf06e6e5851244d1ce85a5a3680bb1ea271fdf9d8e3e182380abdc71457074e5bf8ab287e29679384bf4661aa3e28ddf2172fc250bc95455ceb1aa96016eb55aebdf77e793f4fee2f4b8b536de13ea21c30387baf9e2191398745134461533594aca2a9305c2eb0de21261d50ec5691007ac8a9fae90d21cf8afeff5298020933c91cbf63b8247890181774881fb3f8846e14d85e65fdace5e1c9fc2e6c8951a5a5903e08bf984a689e270bdbdc7500d2601f33c68de2850b750c9a9a931eddae1c09c698c2b36ab4b4c149de94c22cd4eb6cfdc57944ff08df44aa6a53a875cf2cc506a7005198cda5529cc9b5b20bfd1f59d4911549048607720222b12d79acd4381f2564982a384ba6632f18a6dcb5f28d9ace93d8a8d4b5d90be5c6278389c792ae1fe3f114ea3810a16f95b0617d532780863babb61090b4cd65d95a24106886a9acf232e81f8e2ccec72dfde66ed03d2a9852dd207664e5ed9c6badbbb6fba5ebb38e7a8eb2ce3ba76cc271f3605e036622a17405b6633733574e0d37b962e76b37bd40de1c1b4424d89372df0c12b80432156c41570f0a401e07b954bd1fe1dc44900c06381839bd06238b38f579040f9307d0c11e85bb6e3f9a4470cba8c5aefda65291d48e8a44a658fb10145975ae1516e59590e40914b124f0e0cc436a6fc5c58412be1ef9ed0d88efa7bf0bf7700152980532ab079f4fed93b5e421fb9935d2930649b37ea6a5784db12aa1b2f31fc745b82ac99accc8aa9645df6a393dbea2bbd1617f78793bb821f895d4bb680083220e43e14f3970ec7a0dedaa88240ac6800a70aa805fa52ff5e73ac7635b943b7288b24a6543fc726ef059580b1e46d1530a26ec99a2583ff62099b4cb6da2847b19e866f6c795a9b7f2832f49e5c31901fa72cf23fbd5e6f89872e5715e78c24f93c33e25e1734a0c9302eb5522c0e6e19989a95e9c8c8eda6d0a3df6748db306c2eca72084150be702e52628e3b55806c2f6c31a07060d4d4d0e8f02eec82e9bedeff60da0960cbd671c0914b84adfffcffe33cb04c48f859659f6316cac659415865f768495f5d33185e135bb2e9e3b5eabe23940f60871f9cc67025682eedc1d472679f64dbffbc10d09cd363f4afaf46d9799fc98f73b679a71cb838941474fa7e245a893a56c0d4e6b4acfd877da4ed1e322d0f44ecf4cff9e92d0df01998fa2cc8646f4bb23834477f35f2cc269bc9952f6e8c11375794e4526b4281ee6d8a5cdc1c3f218958f2db1435b299aaf663ff40b72a1cbe95ae1261930a5cbbff8225366ef897933cfbba423c81f281e0f601a77dce8ef8c38f25889cde5b981c0115a0625da230dbf741a3e28ca85a1ccf03a5f5bfe4faed228a85ef13907b0fce35c7ec227947ac98dc713070922000e381751b7a0bacd9edf3425928452714435fc9a68e04571964cf9799cbc827aa6f411fd55a9305e4c2ec83914d420b447d4503eefce962c5679f2997d8bfce7100b5307b3fae1b8a5e0a8e9957ab14b73e20d18e12aed28c50af61dde13cc3c221328e3f8ff8a10a4d607e712f959487f2f5022ca752608e6239ed9289ac39664ed30cd0eae93b575fbd05f49de31c8ad5333511a36c1792919eab56ead110f06537db944af55fac866be322e1804245f89e1eacdc072315dd0102af85f06d8e5852e65244cca5a242cb46e2862548d4d3d9d3881fa114853996bf58e5530887967812bd57b8e6cd8d85c5d3c70281da1d6b047cef148e1adc7b110ec76b5f56490a43f142c31a5721ce026bc925c73610472c535545fdc85845bfd165363ff7a9a987dacd26f6b699e47683b7823b60d02b3bae8a60ce3f60df1306bfafbb91fcab9cf26756159df9b718fb848cfb54dc058be5b35d02256436c09f8db2976869363f03298819d009bd9171af30171dab8806cf43e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558651003d74591fdf79ffecdda81b37a991966d3f6cf71be57e932fedb5ae4c8517e0eb7f332f3f9c149081786816f55c926d8f948bb3867ec448f9239e57c4b3967eea04ae4477cc4f776330b9f08101e99a06c3a437c29c57cdf9c42fbc8f93a402be274aff1ac96187049ecbdee2e23f4e2689b3f027dd111eef36331b513bf8ece4939277e0478d7640bdc0eefd71cd6053df387311be05ecedde3d2ee7e54aae8779a1be0d1c25879e109afa0a555bf9dd55706cc3ab70e835b8e419176235a5831a16eda283422de5ba5de85ab7c9dea6ac3b711bc5bc59f2af7c9c2126484b1c6a579029f918e9abda1f9e9cdf1ee35d428df1d9739549918edc96623f2d4429c4fadc06eaee2323c100f373e265cb008bcf3dbaf29bab319a27a90d348efdf036bbc7af70f9dc541b802b763fe9c558dd00bae042d2d578bb5314249449d58ad7ba750715c9afff7cff34ed94651f7fad7db5231ad3d58943a4c94ea110887e8dde29510f64b9d0bef0eca1a1f3b584ad1434d6a734d07ec78380a9e36d6b62d2cf8f1a55da16c1c2508df735e6d905ba9b5074a24d7473818c66f79552c8254efd1446ec5bcf778cc524d24acdb57d46b4b37cd21b0b843486657268167b3a91b64d756187e275ac8eb422e80967e3e9e6e027ef8736cbe3963ea1302ef6b679de92b963052e1ccd1125b07130ad8205ad0812640f16efd3ccd1d28adc18beac25629b1f977fd3552db6d5cb1258a507481458f4c443eeba30f26066576ba9dde90a6d072bd569e1a4d001901f4eb21d3c4a2dd4bcbce6f660217e329593ea21055d7ef2683851bc74b9e5311f91dd28c9591337b0fc176cfe575a36de2a0a0c0827a60c450736157ba180116312619854c890bd1a236da668f8f141270424c876cc344f20339ca7bd61818b5c3604bc4a2886763f7de8d257c7013e0d7522e85de9e4d2639694742355654ed2dbe35e12c1a2d56b1a89d1f98fbc10f26f85b818364e06b29e334449d230ab2e7ef5374b6943b0bbea8d798ef05f3bfc0a0fdb76dfd6f2b06726b87a1eee980cb1e613960776ff6c7d2805352ac3a8187d1229591034ce0e5ff4737e2d5f0536851cd5103b7ad1dba2c7fcaeecd8c1c0bc7672017c3bbcda35e07abda0b6168e883ac2145443f0539da4094579b7711e8931c0359a5b42ff7f6e79ff29a7b897c01cc1f2559f2857c2d291e868c609474b03aa749248fab7a75248ab4f06384251a13f482a6dcfba2edecdfececa85fcc3c8b9877418fd04d405f0e3a8213d7e5ed4ebe8d76a7913a4fcccedb569e29cae3bd881993bbb8493745d4307bf7d157154d97d9df3edb6e2937db0574d96f097e81e9b35c224b73e0f91090da5be66948f18383128b1134ec718a80386addc233f43b5b59c8c0004b7610378074d01247011904812c8b5fdf4ba67dc2a029e34837e182f5c245c7829f66c6b73708987088638e24305380e097ec9ea163017852525ae8a0452bdbd07d6ee35598abba3ed3ec1dac28e497627e965bea744e80dc96477dc2b17c47ef19ffb93e640a0dae953e4bb6c71a303f08f23c195c4bed5f393e4288b7b6faa759db248261d2d5d9390437451fdb942762efe5f7dc9c0a4629d50235f8cb83fd442dfbcc513d36b1bc4676f0dccc0973c0229e9421728f9889c1ed15ffa6cbe75e30fa9001a6c3cfcd9b21f137ec014d13d17941eafb5ebd20a80b335bd11f979c969eae15f6b5a8981e99b34de2c58a693119a75a6ac0ed03fe0014cb218c0b15d79e312dccce6e6c263b3c51dfc091cf59ce7d9d3268389565792526c0267640f8de9bfeff848d3d4582406ea4e50ada09861caf5e12799c805b91f7c9ff807952c501ef4d570f1bf43557c9cbcb21762225e00efef1e57c4af7c1455d677945ae0d7b89a8c6c686ae6c14fd01cdc58991b13a8a55a58639fc1514836907d0ec492bfa699696f581121e4ee31cef94207cd85688dec4be41b5a3e18ea446bdef3dfebdf949a5435837d6924f0d7f0a657b794b52a98a63fd908ee8dacef7baf87ca4e113013894d24683054e19120e1735fe1a18d56598eaa811aeb9113e903cf3fd4e541920f270ef8787a45b73aa9c38a67ffa297b79ac74daf451d6f4798ebca68518435eeb3d9d45ad0566c721c3f435efcded05ae40a850fcfa81bfa152547ada0e7bb54fed9484d7bb012802ea186c6bda3764757f4aeaf87c848d5e90e29468e7c4a6f9f4e5d5dc06c1444faede5a2bb8149d49d78dc7213571d0a55b5e6ec573c57f92e5a638aaca59f3c91815216c2182c184889f97dce7972a0f9db3ec5f3a5d02c136c41b56cf89799802335076e936986094a8ced10946f126c1c91d0bee74a96fa5dd41d38837b5f95a35a646e680b57c2667cecd63ca04efd741b998f225473eeb6492e8d6d0343e37765a54053d3af5e91ecdde1c04b00e9a991dcb855a9911a90b446ff62f3b92c683d91990ff76e596f708ce9549b9b14269466c4543e2ccf8bcc0215399c239d563855050023ab3009fe0e0c1a4c31f4536fd34c6df88e53020ee7d79f623885412d6b0b151945e34bead981681106cc27d98d8f66e8f744b505958a14748af6367518f10d25ef7213971ea0ca3b3b5bee0d6024f8e90b2ac666a9f810c0dc1ea88b794d56c8989e6d1a43b0a92c7084b56e3a717820f3211b6bb8d44db870250b5c823d7e2512cc0ec03771c8070760235263412b05275b5933087b752d0364465add28aca2877b4fdc52f810640541f5fb856c4ee13de1a564f1d3658f1f110b1e40eca2efbedcdf1e4db8bfd0e302703f689c2cb842f1a08afa5d3b1b426d6be7e691f8c14a1862d3a7ccadb0ecd697f3f59c661cb945d5df437e9c2e5e24dca6abc8b75a5aa34e0a450e65f8445bda111b93117b91914d7c07f59d27b505847bdd4e0af08384e73f802e8d3896a460109d1c9c9eb9ce41a133ef72810562b2c62fe2435e7c9b85672ac40c859844ce60b2cab7c4e7ae80129cbf079b9c97c8d50c0b1f63cd95644a432227b6e1057d8ced65a402149dc1f67a244c728201162719632148866f44acb718d85c7c6b28c058bb98545fec4875664b2891022f18c79b90746de3043354c040b6cb73e94ab1a28a9f2ecf0aa5ccc8721cff0622101e8c82f6fde3825113136dc394550da5cacbf98aa639e2b24dc588fab1a4bb710d6fc6f3f2179bbc24930a2455767a6114264419eb1bba25a54a80df29975f72626d9262f8ee9cd81b42bfe8e28b99fdd8c6ded4cd83a97c5906394ab6ad35fbdf940de2d9f39a2545db80f9926bd53899e9aac4b9ad55502bbe14d5f17433c928fbdeefed239a973405b1e21333c1bd104c71ade06ae9b3b5e689cd6ed5d938ac1d346eb16b14e4997a9f1b0b81b73286934abc2ed11c233432b895982f99ba6c855cbd708bdb10f89752b2eb45e74399b37c69ab7166d3f769e078e9dd3d816cff1da997839ab5cd4e2b6d2964f0d70aa923d699e347d78bcb7ad94edf73d1820dad728a2a6c873e809320052486db7d1ab039f1e747f6e24670399d55a2c3422094e57d5eb4943158f73b959b4c9e3cd85dbafc369c492b6920e9d4adfe36ac6ba6a8e616870b5cb3d323739c87ec66d8af5070bbb54d5ee555f89cefb46f3825bdf17383266549b25bdfb3bce4e7e85492b665cb79858f8eba27a96c746daef0e68d92fe6cadbac027f865b299853554261eacb2e8ce6f978ffe876baf08771227689f2ecbf9e66b939b39855f28b1670349bf9cecce65f937601d4fb60d03aea4e405382681a33c54057b99d63ca69389a4eeae611478eb617fd54821169067550f0cee2bee23acd716848b8898f57f03f68ebb9039ed74dc44f2b923585061ad1681affbfafc8cce009f05c868289969eca26db6146660dede7a184363e9f806ec58baa220f2b93f0e70656e71db56a9e016c301ff5961a56c5dd3ad88237374da196500784b47ebfb2d16a9a110a33596612404f853dd3633e9d07d8896a6b6983fd2510873e68b853abad4b441d179d7571dc358e39533c902e3164dd8dd693341c20c883822597825283f0020c813f7481abc5fb441ba417b71c6caa9cd2b68e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855781f2f209089b53228077d1f3d50557e5fc67a7f1d5f45153b8ef5b1be71bd808611f4c6d7c6f07c08dc6b463a510c7640f065105959ca0518dbaf2dba0c5f64e6ceb61c685d497c46f0d2b249584f8c8b7bc33b4a3f62879337b9951799e0a34a250f88db65cc5180bd4e0a293b38fa6d964ba1e05d0f5d9fa6cb79abe254575c6890c046d82748c7880ea541de6970c294f5816848932e3cef1a1e8c36d8c7a13cf8ca331c190b9b278488a046a93c5c58a6860698bf3bd89fe4c780bc3593ee5e2b80e7cfd71cddb87ab978ff9daf7b741a23fce78c20a9523d30b8d4326a79686db6fb6d9b541a79d36f34978e5c927a4b7f9a9b300a5897ce1ef5e318d55fb7fffc86c41540b65ffa8c60fba661e4b12d3a2f69e6343bb51c8af22f26caf4d55a0c3b0b0871f3297752f2ad8649caad7d5a65235cdb4a9fbd3f73f562292c2ae40c37797eef76e9d6a835ee6b6146a045ccdae70e00bd44d3535227b28cb2be81635503e1c91e46f06210e733805fbf2061b0e01c3c85067d350126ae416027f8602b9be1f86d32da391634b6cfb1b9021d4bc7b6412f9a8005d20c09c1970b327c4ba74f02176f06e876a04d8c955a45dd3e0e024247cad68247423cf18dd7c11477f0f69fe000db13957071878bb3c0be52ac84bd9661244d53572614683d8d97f2779815b2de07572b49adfc639647372e2ec37a1c1b99f0edd88d960fe0ff61cc8a79365bfc30ffe85f783f0ce6436b6c8d97d90dc8bc05caf7fbb968d587c22a7f06a1efa435eb45f7de18f8d54f917aaf83069aba9486d202f872a581773e540f95f421dc719bfacf2e6137bf53203c552e057f80bca292410499c146f0fe192418e005f45edc458e9accb36ac5b78f796b43a4047296e59d4de34d10a1a4be3ba495cecfa451cfb1715705c07fce6c05abc691f4e60b70d1a8c88d99d826187c44be1a99402c0621517e8d1fafc7a9050acb88314510799448343ddf280a698fc074179db1478da06ac270e2256d180b693d01737ebde38dec0dd4cfd0378698adb49ef3ed2ef8dda61994d2d9494bdcf7de64d4ebfde1e32d8815f72a23ad0683461073af43dec7f63b4ffb1e6f78e1a2fa1e17c922f596443a50caaa70f2ef4a91b672006d055094a6a438578002df4faf72ad9200c4a5cb8f1234ff4fea06525d8bf51d19f06e4bbce6037575fd12aa3a6a14a2e796825a28872e527434793e67478157a3267a07f79a7fedf85b97ff844a28c4e9d484ab17a5ab230ee5b2cd45bd8038fdebe1e33a633a3275aab4a1a1f24075495d664bf1364723a5293d901357165b3b6ae44cb4e1e3085787b575dba7e106e75ee3d3b429dd2169dc494589be98aa577eebb99d38551c390237ec83a0bb0547fbbe48550fc03addd5010af30a279832124e035ccc4de614cfb7d2a6b601e2ad31e37af1af6e8c398040db1d26e3903b18bbc0b59a78442b6b7b1675115a80ce54c5ec3cd2b6a652d394f204f0d5b6cb5d1a06b8e9abcbad30e65c3e3d188efcc91f4bf757530bc3964d6fabd3c62cc89ca0ce0c3a0724eaf58fa725d84a2c42393e9a68d54833efda95a9ced2a96cbbef5a34954563587fdfe63162fb0f896e33653129991af27980eac7f5421583a6a1bfea44b9318b4b745e212ebbf6687cb6fe2995447921f43f9632ed8c38fc6fc2cff796b5e93820e0bf6b1c82d1665a51d88bc16614c95f750d396c00227aa1a730ced409275e4a6aa79df31c96e4c53ac99b42ab571cd0194fea5614247dac3b1c40485c7278c3fb772bf6ed3346c772a428d20013a6028ec7ec3a7b6ad37ad83efdaf65d50731ffd633c87d0d6e9b567bd9dae5640956b5106b7e043fede43d3a16f2ad7367af681383ab9d4c89d091e663abfb8abd7a2d8d9b3bfb77d59d5f2f4866748ce85ba275a526da7982b7781f02d103ba99126d6445fbdcf7bef420f7451205b963811ac4f12b6668618b6a2d3e8532efbd99a930374a6ea427fb368381b590564f80ea1d4ded5670930f80e9761e2acc1c150dfd54ddf5774d1a8bd1af522677c68a64507e589f6d2d8b7ac0a2361ed850843734387ce9102437bc70c1e5fb682e90e5387b505c6162a11b4a42f2561cb668ea9a89742cc9acbf38218e37173df601be2af7a58e39d74658b3a28d7f42dee9d41e4a1e50b370ae7a18de070bc2249e9370ccc6e030b3d9bb31708c164fd152b40ae1fd221aac6db260e7df61eb9014053cb0234527beb8faeb7c79d523ccf9ae49d348bd4bca643d88bb2817685a879cbafaa5dceb2c2cc9dd382599dea9081411e7e5ced0a5c68af4176565ddb513aee8897e8b58a99a068216fcbbf818f0fff72ac0bb0e334e9cf671ae0c08898b837374792992cab49940c8852ee1e65d0cb37f78cff67ec65fbc001a8cc194deb442e0103ba4c4da22befac0e39c5b36468a0b49b7bb86ac89dd970591a339af05baa57a90b98cf91ac90d2685891f21a21c73a53b6f3ceebba692e79bae90ef953aeaa77e7fa42941f893a05c244809007cc91bc4d0adb2b5fc80f5f08c8a80eb13167c237c0266b600411138113c1337526a22b180a5a7d16277bfbdeefd689ec746716140c3b5dd7abf0148c960685aeca5110737c3dd2e39310dda0ebe3f72b61d2f09377266656d58853ea4a905e101c365b786427fbc4ca24dcf57443bc211879ba30e722aec4d7f541e3165ceeb7ffc49bc6ec5b7001261cf4b70b00c8055cfb59046fe2c755ebecd28c4f2754f239d6b0cdf22db11c4485f91aa2a1f24b55185e8592c0a7162abeef15e7bb98abf6d362dd93dbbef7f052635f6a30ced52b1111a101c82f9deec08c6837ad8aeb3649630ab91302b54fa7ddcff0d0488e1987af6d2807e351522715f30984aaa20c9b332746a43dbab904f07221905cb15100842d332823b760692109032be7e300f90b9d75ee5d74d09b509be07114dab6b2aa414b862100687ec4f0f963432a1557465785f442a54caac7694c9fdec3e19e607303a794354a88af214fee60c94f6534e48d41c85c20a233bb2007242488d4025178883f435b753ffdf4ce68f01f4dc8c74d1c0d297256a8100905984069c11fbe9d6360ee2b280b458b42a6c41ce55033308f80990e05ceb0568e03470537b8f8bd933a8c77f96e90ac79e98f8c6456bc4026a9f6824b5a165c62a5e37a437fd1d0996c4bdc8473ef2a0470d2279232d5a3fcfeaa8fb74131846507ea3448a52c3f3643c1339ece12786467599c5910741ecdaf795c736c06061549cbcee7296a8ead347e95e48570e9565fd1f86274efd3032999c4c3338a1a18ee7d398a9ab127f5fe8ae391ca24106f7de1dd0a425cefd2d18548a7dce2a83477928f91b1faa3d142100a831b32b49ee4353e29f499330b3bc35dc83c2daa7d75b06190590cf466c21128c3704206fc840d6c0088639cc9e859c82f3dc193771498a0cdb2550bf8a97fcbbc9f28742b21958ed7db40663fbd5bf2fdf7e92e46484c7fbc6e995e6980d844c278d2cbed1fd8578a91275fcb047c74895ab837bd80246756f613430cbc793a47414ed3c17825384ff81966e5d688b1d17a3138d28860b8213cec61b904d60741e1421ca8688c75b4d9b7c1a3f826ea55f6024f6b1e33cffd2ee58c599fad4a492f381b16e43523f8adf714d17ae41703bd8cafb1575cb2e12297c5a383df2635c61b5c2fd4a7bc640a16a9f2d92a2be8299d13f9c50825c3f1aa3e6e131e82dee3703ec70f5eb4139da818f60624b8ea1f349821a6722534a00e1d362ef537ce283f202802d3317f0dbeb76347422e1fde7a999405113850e7e4f036b64dd23f6d0686c2daeed18bb726e58eef75a69afe9ee56a1a23b2c32cd4e87d6005638e2e40db12d6d49428e35d8c5675e4db56ad37f8072dfea3a1479011ce5181dd65b426bdf96dccec5e006fc10de0f830be53a2399227b1dfdd7955dd87dd755b469c67faf79b27432e6d50179292d4acde607a0e1a68d8b377a11b4bb6853b6236a9e06024cd2d2c878f1ecfae9986e20bffc0ab4c1bb747a93ccb9f7c41869a77c8a03ccbdc2766194440676d1f8c4d216316a6b4e30da07f9119a55c11de920959637948c9df67e56a89ee090ad0987eaf688dd196f1e545dbf10a56869ec0a466548d68241510da48acb719a46dfe5261757a9319e4d78862e577b7d268c084db25eca53332a0392bab173daa81270bf7d2777086aa87a91769908445e75516e7b560e61ca043b096e35cd1512bd8f4119e7ebd36c5c2258c3b21f67a021f360ae0a6bd0fac62829be09a9ed00f3885514b73e7952e326d1198872d0484029da32bd5dda4f0ca9eb8714ded48fb4c5b912cc02becdd276e84eb922a4607acbd44c5396308d969698092d6b2b0d48073e85a1e41b6ae7f63345d0926e71b66766e103a17a9542be607646b26e026ac1dedc863caf0321b618b6b20dd912e444dbee53987ee8aab40d38eab211fc1e47558397d5ac65bcbac15188e313861eef598246be1c37d84fcc3002652b6e164b12a5a991e0bf77962d8a8f5ea33982aaa30f61d131f0f07f1b16f1cefbcae320d20529fd38aca9d4f69c9089e7197b0229e34ecfbefe8203f475fae6b43694347bf07b992238428110e557ef067df0f2553886d28acc23fe7ee2955615fafeeba6a89e1c67511de76dd4db96f06f0897ec694642c788441a3be9b3a19e45b2b1a23257c15894603842e0cd18665f15fe4c1cc6f6d74a9773e1286891f263898235e890864e4a83b1307fa390faaf6455a3ffd69d1a8a723784204c5ffcf77f5988e500544201ff5fb6b19e486d5be403995da880a0631f2d05abd5e0d5865c7cd25c195c3c379f1416d72e851be00c4b113b0147c3c91fff79f45cb090f797f5fffe8a2cc61c530a0b930e9ec46047237349cec2b284626186d63400dda0cb8acde9d2354f05956ff723c51e9b4393c9c2079994054e59add46e917fd33ea4646e285ce1dc4ad7ff2f54e0c4f992efce860aa4efa74f0c34f00e69901991a1f48592105357e0f8acd0c4178c6bcc31a901018651ba7c433ee9fd96c3088b042cf1c22d5c5a9310d80c5ea07684eec1a5b3ff7e62dfffcd404c94e032facecefba3c3df47ae064bde54b1846406a1b46f353791c4d4319892c3b342bd444a150ddfe4159db6afd7f6954382e5fadc5fc25116b38500e1b098c98a09875ba5449e2e021181d1dafa78f2d5b45fca534e06c9a27e6f0cc8d19a5fa030b3f00a49c378d4fd0f80c97fef933be4abb8b595a509734e64e2326da62432dd90a722ef2c5efc6bca2b3f4a84d43c38b00339125c509a753f807f7e23687b97b3f8875d858461334596b2018a2d1fedb1a17423a73cacfe09f02fa0d1a46d661386d6855c206dc5df2dc558071886f5e063c85dd38026696ef151f52f9b0f0f93db2a65ae93f887629ba2678d9c01b9aa2d752071582cfcf5705733fd3e2d65c9653bb52b20b6f2954cee549899fd413929b3335e9216906f7bd4907bdb508cf44984b3cb32ffb52de11ea0ee8a73cb8e73321b3179a8805bbe8a7654bb08cb77de735548aaf35aa34cd7a8a8a6c750eb4980df277af60ffd34f2c6bc923c3d41fe8d8ee69eccaaa1cd1d376499694232e1afa194f0545126dfb1e86d742454a98fe4ac9566d70cba1fec172e57df7875ab0218482739a056c3b88ffd3403a9e68c851e0a2d2d5416f5805813bfd6208e60cf97c5d7b0237f12e7847f33e9f850c61d8d69ed3eaf1f6ee8dd3fede7e47b571fea8bde80134590a3b16cfc373dec19f5d0aaf4beb67f6a0778cd9b81d521cff5c9d905d121010cdfc67701a14a49d744f3f696abcbd88910bebe6e1a7c86f401c72578f5614057aca908d3adb120af960b90e676c39f9408d011cd3bef324a95f1fbea499624af756e3fe61d2f13dabb00c160ef78c481f59484bcfa500d34bf3ca34459d9c196959fe5247cb32c7b579d6e19862f9268bdb18e82c9c3da8ef8116e879936dc117c127d925cae8b6c2652a259f9f1dcb2d380177489f03e14304782318f37da21299dc421f616018aaf4d7ba7a0c85bcb6ac167596a7d0d6a99213ade3c26b1760551a4d6fa8469e85401865f17bf063e8c41af2c712165314404f19811a1458924ce142d26295d0a56a18bc4c789296a804cf3489c1c28e80af52f2144626d77c04474b3bbcfd59cfab041bbe3b654b0bcde8c2f0d20ec46e69fb1c15c099d2cbd2e426c75113c2e33a46fc3e4912b8478868e51dc0b8fbeb8afcdf89b9ab8172240c992ede58e56f408434ef4491988861752d431225c284a8fd6e81407fd5cfcabc66278a5c3df7737abc8b1a0b6b3bab1ef2f23fbf923c0e2357dd6e318c7d32da742dc487dd9be5949ebe9494ba2c88dba329a7d5cee45047367187c2eb7a0a86ccfa0297fc8c91a55bd6d6a0489eb5569f20539947446b61b910fcb767502bf35e012a6aadf65bc0eb703e1243d441d9b40d715efbd76efdde3272cdc9234b9862bbab22d0a3c7d6b1564dc1b5ee94ddbe2fcf7e6051be2c1433e4f4a14542b2da6f0fb427a1f304454e2642eb576817a1d48dc83cc44729acb01eab0f1adb2d0c43c3fcdc79587c6a60620451bd71fd92feb7baaa61a21fdcabd03a34356b946cb219f201eccf97235b6f68012dd9d6f7bab41c74a82d6237e3f0ee316f0d29df337de28127837ab8471921a1ff2547db4b2266f7c7838ca9cd1c954ea95c0b094a530069b68aead66cee1fae32bdbb4b4739bd3a8698c8378b96dc6aa0433e4cbed0e39319e933a08037c6ee6a1aa1aa23493bfc13a0d5d937a0adf5f13b9b3786a98c77eb3c6884f2cff80a48f854125d3a9a26bbaa60cabf240fe8bd819461e3e4a036d078740932063a1f3850d715517c43e2a86d46f889c9efa940260459232cc4174f56e5406e8b96f5e94802a11fe7d4d325a7f6cb37714f3ed83d4a3ddbabb224318f1e66c834f264c392c0fac72f5063f65f2d1647ad68b3958a8ff23567e2c1a8af216ac8026822c23a4bd8d617a34369187fb3e211dedfa0d26771f250cd58e0940f86ac33f82e2af001263a72ef475dbb483fbf49ee875f8448bbeaf89792a59f0f5419bb8af9c611ed2fd56a626a61e48adb809e146f0e99b995790d0af7dcf8f960453124ab1ee1ce44b86f74cd7a2f74489937f5176381d2f3050b15dea8fc7a2b90ad432b59556908c883ca420f4e6875748294418c63372f8b955e2892ab116605e4d3db57f6f60765f3f2b3f90333fcb16df0f8ad5d02f823b91a5b14d59e19f957319f7fde0326b167d1732190696a30fead0ce2ebc2a275a158b0714bc6a9998b932999c4eb523129c01e06592868b01424a0c43454fbdb35f66d2312b1ef8c263cb28555236d6c1cb06db5a6fbd3b85bb1531aa1d1c64dfd02df0f0c903d06036c7e2d86412077121b2847b4faf7379333a9407f44865191a5695cb4cbd1c841f51deb4a6363480bec8a164ff6c06ac5a263576609fe930593e5c4f9f5d338ff04c191257a9b8736f73e820d5ee2eda9e4cc0ef2717007a550b00914eb76783db650cfebdf68c4b4f48b00ee5db72d0b5a747493dd0fbcde25d28e5d6b2135485db13fd911dd05119d8f99d2fad6db4f70e1bf433452b304f3ade4a2e062b79a65cba6c21a8f3ae6db75920b49c82016c51570de1d59f1c4e41c929eb354d5bb38b3049264fa03d4939960d9416c45b2468ade053742c3e5c38e555a047ad6836cb28bf5559e58594727cf97afb2a28a4b1e9a07fd2773a5f3f4cdea47eb4639d498d042d8e517349bc535e9e08eac7d2ecec130e10e349ead9b1a7794f72a2294dc0287c644ebc96284fe05652c1f6ff407d78df0c32e32c18c2a8f0c756717d372031f9c27e58f63e46a6488235c00d99522018cc6eecfdcd4a8ff1b2c11738b3d4a0b7d3e9d329e54519f1ced655f5d0757a6e38ede75efef9d2446d295fd63a701122ec0c73bdf4991c373648ace7c25304c7c6146fe9a850bc081f0d0efe35cc14f55d4c67de8601afa1abe0bbd20ef796d4422db4b34417ce4622798621643eaec49dbf2fb61fd7902e7ed0380bc10203fd83bc0f3094f1a596f5eda6845dcb6947c3bb9ff239e5c3f1822b95d3d6080245fd073d1ce428776a725a0eac5ddabc571548dbf04dcd0c5c984dceee3ac9a260912a9eceb2f40864a5872c8578058a2c0c78cffd9275582d4bfd01ed1a4d568debd034329ee47b5d655c5f8832330fd23f466ab715b7905f32d9408874964cd5b6e8b030595bd063def5e8fddeebf5f3993338ab2e9c5ef62f7b141002becede84284a684da844f4d4fae2b315c38340d7017da161642a34020fffa4406c294b8829f4935b191a9d8537acae2dca988412a7111867a4403a0d3967ba7d9d01c254c99ddd1586a76082399d05e1bfa5dbf65afea805a6ac6637b03c9ce60f387729af057e38e3569e336c1e8a2f259f84f86bb1d49e5a3a9be37cb72026f041ce0ef490a4a71e3e8fe8044ca388b7b82eceb726788e63f4e793fd06a6f4b9213d1046758843223ddaa40936bdb8e16999c4d5423e34b368d223c3370574ce67bbdba4237e473f99820dd308a28c80ebebfc1fafc002b028ba3265abba722768b91f3688f3750e5d3403c53ac6416113d9e243405493c9fb6760972a702cf33a4ffb236cac6699133ee3051f5c1126ed837f213ba16ea4b4e0bf71c22853628254bbb2e46e4c786ff320ce3db6a3d6a4752929888caee46f45f4f581a6444c19cbf9cd44fc40e204af8ed2c04f7256d7b382b8202eca32dcffa153a0709ceaad49012a3a8c5b1710fbfda30afa737a8ef17421776bb20868c6fb142ceea6b5352c6f4e86bc524bf44fa1fe3f8a771ad69238cf8b845fff3f95c48a021bd53e05704298af29c76ed5b19fe3bf6872452fc1e356f07c691d2e179da6434eb622454bc6bc2369a6b63ae0385520f45563e355c85c390fd3f162135840dbf137a21de34650f24095dff214cc5290099943987c6943404f1596944ac1115082a566caf01ce3b2190dc7bfa626ae9a1de1f63cf13b740a96b871a10e762fcbb5d1299823c4d5c75c46ff6233bf4cabb20b8310d3f096ab5046b31eeb5afdc3204b2b7f18d881f46f680162345c53d13c9b4538ce58c8480c5e5df72b3043405f269ad0893330cddd1e62898f8784a36f4af22c7ca4ac2278e19d093b19df5f14609b63c36d8ec8a74e25f176f62826001139d1ccdfbc27d2f551947d00caaec8fda4ac3c8f27246382bbc846782613baf8184120e32a046479850fbcf9fbfc8087537e828456e4fc9d9ac54bc31b41e8b47945d2654eff361e45e97d129af66a5f940579ba68f1804e19cd0b111f92b4bbc7d740531a7715ff08641fae755327cef9baf541e3414b8a3f19bbcd18e822197e8a5617cb9c02962a71daa3c69be5dd7c85d283be82ccde0f8b5549d660f5d45b99094ca84a953bd89de986b6330c121b7c07c0f01f013ce36ac567cdaaadbc90aca652066ee76ca3be55a7ceb81c7c700d15a88397b3f338b461f78fc42de67087dcc04bc993c0caef56ce714c9e20045d552a6c4a3dbfb92a71b274b56a1f0e918c440454c53e6a48ea489afdb47f075c2fa558405d11392e0ff57398763322296cfe156f3eb688e086352b53c862e402581bdc41ed7dd731125c87700c1881d35f369cf3cde7550963149a80ff025b082803db028892de5720b5869c8ab3b97fc2db90fc4967b9fced4e86d8142f3d77045489818fb50e6faa2c839b8f04aad17f39794a33d26b8fd7bab09576932d8d42f25bb83cb4d40f34ee13c567dd5cb566ec8f096b0dad441fa0b421f560b300fc3a7dbdcb2cd3308accf270651d2034fc1853ac882b418aa0633dcb2dd79edc6e85ad1a5e7d4c928acea5928169c94801d8a06df8dbaac7238bad71ea2a384b111293ad8b0dfe3cc99afd9c4b6993e0bcaf364965dc9980de3861be089d1ef5e47442024b332a07d83942d8fff3499527c22b9ffc5f0dc1e9f71f25d42a912d7408ace20dbee72911a2b46bb48f52c0e8f81ce7859bfbe5611c3f95e029bac2233c20e5e6ac21622bf057d3dae6c6a4a811b625bf8bb2727fc3eec7c270d534b84f240bcc7f7459c61ed42c473cd2efcc54a128218ad78c329fdb9992ff8099ca0c04dae2a2d34491ea2e646a172e8e70992fce700e414253b8056de26000061c5427848c075766e2abdb98224427e5c5171848b1069dee0b80db21eb9d300b58a7549cff602136d0f6672447b668d9176177f93cd602d2550a5748aa4764f99bb7e4889f65ef62b62b715de066d2276fdb40b583746ca4eee2b8dd35e4f30bac58734cd320067a94a4ae55b9b810bc04646f81c0f0ea69be6f34c0dea905bd66583e286f11fb29255c774f0b14c1b9d59cea692c7c4072aebadad0269ed126d427383325083e6b4480965aa7728e723fca4a84f425a64b5fcdfab344ccaddd8c641df16644bbe14cbda9ef8d2ee8455dafdd6e63b338218dce76aa1d1ce16ebb392499177999ccf0b0d2c0fa32537377807eefe4dd4463e614dd0a3656d3b4cc4f1193f127fe02e352daa177ebb27e92605ab65d437decd01d2d0dd053702372535d386f18c8667b428a5ae2c5bca971c87d58e879571606ad95f2a75279bdeaafdc5ed011277ae49abb3a2b3e24f0b9a32ed57448b9459d7aaa6b810d0cb646722217353e1b9743800bd1abe59f43e5f9cf52be1ff4702f2dd605e1d3dd950bf999b3d4978944c0c38d4ae13284e33dd36f662c015a7c579badf691b581024073c021e17035686b8d7ada750c43ab6f7ec5a4f7f943d9db6a85c9b8aea6e78871e7ba1f0b3dd346dec398adbbf67cd50417265eca82a2b9b79c1129b2370ffd51ecb9b1fc313206a06acd6d3071a164eff9fc49d1f2e2fbd10359b95ee8e17396c405f333e194c33af6a1b5d320aa8db658410093431be270e572b65e59a74347b8686c5ebdd77d840707a7188b3c2ccdda192a3d3129dc30a3d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb33402ffe58bf09b6f21c1006cfc486cce233fd9e14969437f6e0947e34cdffe021cd9c8641e6516a175bc31b7f3f226cc0469a59229c5a7aa9577bd47bc1e32802e1df22091752342eeb8ffc27754c3551a92c2a97bd2f9da5134a8c1e5ba3c68ab2a335bac42ee9acf8efd9a349a3b0af20288c2c02955b53d76dd59b1f1868f97c813b0c5074cd9f520f1f83447d331015b709e82df5aece590d159a5227baf8c1027484f67cc1420d1236cc37bcbbeadf0e37048fb91d755ac05d3f6c72142fd8e20772b6eba649f5d60f75ed7dcaf7b6b57d005aaadd4eb72a882e226136b007d054590fa244e8dd44297d18a9db8d2a5940ca9614a2bec76bfffd60c5344b6e076846bc23745d6d21d0a7e26f0d0ec8e6f5a8bf639fc04b58414bfe6260bf8bcfff4394ca45b23592a65752f270a3e7f1e8f2155f5f3f2aecf1692e0f08b4d066e7cd140465e3478854eba13ec63c9fadecfdc31b0aa6847c238addf3152cb1f4e8783c6023c5164872be84d88a05be30b3c5d3532140fabcef730d45e9db5208346cd7cf50eb8689f08b13f29f7b5d59af46b097fba4fd8f0975ad7a1af62836ede52cbfa18154639f0034e943b83de59439efdfa8d7caf88dad900991aae2d1ec083311c12d9ecf1449dbd4ff09f39575e299568ea3cf79bb211bfa7f0db345b864084dab7b5f373da80b4187594af730185fc552dc628f6689801cb515e8855c47dda6ebb808537da3c6f879012facdfe5c10461f617acc5f6f70b930c58dc2d9d4d2c477b18c36261bdce18354105b70b131de228d3d46d30651ecb872d03df5ff496f2a4da4b287fa5bc2c749d733f2a0561ff9fe47d5229dfb4a484fad283b62b52313ad5574334c0ce51e94a6ecbf34da1a2ead7c90caf858fb1b80c1e0238026fab647071eccd9ccbeae430fa51edca85b3e0db61885df3b8a79158512b82bd47fe2e91a0d86fd833e74c72420bbbca2d30dac585d5886a291585cfd882aa2cfd1fed1a4746a5eda4dc44a43ed1071558c146fa60179f8bd7879e14794873b722f31a4a2345dc7fbf2a8dd4b8619c929bebfab5be7e9a9d87f71c67c70726993e6bdbd95aeccc890410bb3b83e536c69099e4e53667eee7617d792716d8829f8e9a944751c0e053f413f51c63cb56c218efdd596524f8184ceafb311f746b83c1209f135ecfe0d47b21cc31f624298cd389648060bbf0d0138095a3b62ae62ef6c7d7ddfe89a4bf01e3c1dd81ff5103558582a0c66d4a887dd49754ba2ca6d7510290a72cd1124b45dbe9ecde3740104cd2e5c6d8aef91706b9b3560d8b82ce71e7de32f772f91e3ca43a0acfd6ddedb5a77e27031d9cd4289dfc6ad0571d68a3ea899bcaf95507e7cb443e04fe414ef5315949c567e54695dfd47f5d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334029508f8c32bda7116c8bb5d7360b77b55f6dc444978ff00c04c44d2defa0cbcd04a77c5eeebb8b9aa14353ba826a27577fd3707363c2c495c48b2dad7b1a3bf3a2cb6c82ae984c12b74ddd344770da0383164b39a883058e7e23d735bafd1009159673a6bdb4657826cce0f26457cdf4ef2f0e093229ce65fa0045dd8544d81ba2dea7c0107c3cd370af26ad0f6801612ccb7ce7b7c6b83ac7e46b9f0c0d8c3628e8dd58df321a2978d64b2baf0f1f5762c233a85ad15af90d89f91e600dc56c5f5479db58dcffd5f53a6ac9b41fa2d08cf14d12612738261c5070eb1b7177bdb303d68ddaebc3a1b8d873593cbdf94c6c0f19a74b29486d2d5cd577ae3efd41e641383436d64220526a1e75558e5679a4d6240684207559da6086a435cddf80138c8d0f218ff10ccbade03eb175013f6af88f9657196acc022c17021e80f5aca6c3025355c8f6b7cb9f30fe5f1fc6a4e3b90a4f89cf97061b62c5b50bc58e5726e9a882190b68218436bae6c17520205cf344e088edc6c7bc3f2bc33ada8f12109f6e77c9827f5822637fb31aa0e932bb0197fb216d4d311521abc8d15d628beb6a667010cad584e0b68f2385cc67007c51acbda4e227a6a1fc005bce23c8679a03c9f2ac0b18a52d0368fce94c897b7a5e202c1b00c29abcfb84a40c54792a416d4decf31ecdd47adfc6c5a035a87953f51c8455f90a2084878d53a5daa29f20eb6b75e55e90aa1d75b91eb02bf9f2ad535ad5cfb6eafc9f1ecabf76d0160a813682686b3547425cad38bdfb986109a066d6b209d18bf8667bc696748902a201a6f7a9e313f91c54c5bebd02e4052a9eb6ab7b89ccf20912274dcea117950eb10648fc34f98117a737a7ebc08edce2632df71c8ed304108f0725e0041e91bf8f2ec2f373a2cbc68c6d8e2f3f215948c055f4c56dcf6bad83c8213225734a398db60b9a09d54b8d59a1850e9d5a6922638147cb7f432b8b9e2cc121181d0e6020e537b56f6509a45677151485902f82da6c2a726d1f70c1d62ae68396d3ca8e74731b9dd5b0c480d6a97b6d1d705e89d6bbe946951f109a2b0c7238560d8596693d79730f3c32713ce87d5cedcf77631d8726ccf642a1bf5166dee08372b6ea452c57db800123f0ce6f70446e73e7f0ca4e5762305869e4649c9c095124097514fa533d4163f876cf7c1ee1961516b5f8dad81078e3bc2876b7765efedd9d26462ce6f783f1df998509d22210319bc8ea4206747156654992807f5e8d0c2a13ab72002406298c3952cebaaf0e30e91113689b67efcd41efc126e5d48b659598f36e1430653e6d534c1f4e0c6fd43692cfe91db67cd78d369e22a02ab6f6ba100cd36a59d224fd5cbaa8d87422ad04c6717899d6f41785f71f0c0717b9b6c79fa856684bc330f820d73bcab18e5fd3b5184798a7e4e93bcd8ae9a115ef469927bf59b634cab884ba1676b0a0a3f9ff0a539929dd62483a4536b84854823cec334a34fe57ef10c6b2f0fc44ac611d65561f7d157b892dc8b03eb7863b07bdb6034f26474dacff454cbd6eb58f0ba4e68d2f5f95346298260afd54452e81c37e0c957d3c7bb020bf4c2fe88664ca8d8069f56624f94e8a9ff67d1930882fb5069c215457e1d9e8879f1e4fe4606da941544b775da7b79eb71bc81ad760368e27dff70c41135a559ef9d6af732dd5138f3a008ba1b96d1d90f8c292253ca02856c4546e98d758468b416312da77484eac086c8ebc501b50508cfafc7fa6ee07781c84810767336db24d8f12f19fead633a57adff52d066345af7d7820b8827518bd0c764906b6d734c2e2e1365317f4b2ee061365b65b1b7eb2f06bec0e6621445fb794d0ec0ba5cd5c10a9e7df913eb936427c26dcb17ba56e0bd70270bf650247e0bdf977965ce9806c0825e37dd23eb59c609fb82dcdc291793b9e0165fad96216ede4f6c1ed3625ce55c4591f5534a42fcaee5965ab6049fafc32880f2e7fc4715db0c7f40b2d57b52c0b9ba81e3fecee9594ca8c7f4d762edcbc3bd29505ba667472ef0f0e8db4f565d73f5dc0e949c9262c2f4cfcfc856064d3435d7220b3ddd8039b410cd4f395c386dafbede10fb48bfef43ae907ef5720b154acf9d01ef1ce44856a486de25719a3fa02729ee97225a8f7e2d421458775a4a842c9403d2b96225527709358fcdbd786c0ae15cae38e496d19b0987f06ab1efee4ee8d3342dcf4313edcdc154fafae15f7469656efc4282c5408ddb85cde564251b6ff05fd91fd7f9f66a6f6da1025ce18197cb6ae963d9ad7ba7301399032b4216e9323f0b6087c5c85324c77946a33638f39ccce8a4e4a277ac54a6b46828196ad3c2e50975d21412baa223b07ea1f3cae9e1347977ec68e4029bcc7047341b47b9ab94bd1da0fb9f2b574883f61301558e59f504b1487d5ff094c508ab1a3c853c4338c5bdc308f0d73c33141d073591de48732c5ad47c1d14e84f75df757a6b1e9b75aedd4b7369229a8ae21ca823af368c03eed5a87d910d2286373d52729372da2e7404ffbbac5dcbd0dc2c7fc6f338d65548ca515e2cf1dfb474c45e9b4b5644b314793fabe92b02c63a9267fbf7a33a959b00552a3b49f992bd9f9286ec93b991d5817d7bbdcc39be66b381cfba69914c5a48089252989541c45610caf0248f4cfe855e17a01962165bb74df9efcd0827f6160f8d6bfa7b92d052879d5d97716ab26f2c73ad13047c91753a70ecf9f1062fd0eca231df3d7ba6e1e40e674d9e8d471ecd7bcbcc5a3322eae72bda3bba82b7ac4813f174786ac12abbfe2d25a04194883f4decfe0ce6f586ff291fc26f9d9693ceee3375e3f5f182f137221752f4befba88f1193d87d86ad1c1b7f676a74342dfd1ffeded6bceead67ea343f792edc71e11f727f83a9cb9da2fa74bbc72ebe72980a1778458cdca5feb8bd6b9364fedcc56718cc870e1b65d689998896c77d7b6e29937fb74c15858f663bb1c3355c72e4317d7e50991839523e5744319f34c61af3e68be9a3cbdc0e8c47d47c66d6179a95ee7ed063a4d7b3a2976addfb99706a63126959e8fc1feb70480fd489ceff4b3abb1021a67182cefe6db129de8e2626c3329b19a2fb03cb5671dd6b7737b7b0055ca4a8e43b536c947134bb1408f1c9e1492e15a9ae536e98f3b3a61257d6dcaed4e2ac1e07731835d453098e405b34122fbf13a2b58d55f065f823642422b1a24445077e72e689a4c4b39ef362afea6c8a1e27271e9b8c09bb07499ac62de641d64b3a6e502c4f938cfcf0bafb0184dc0773f31e3cb2b362053e6cb43ee60077b259cc3bd0b04b5a4aa181dce6461348c633cc366030e9e5ed74cce26fe207d939fdf4145e4ac0a1959758d90d6c0be2fe30895dae5527bad8aef9f9aad239a742ec600e90a7889c834d0b2849b3bdc44195051bb293a57f9857bbe9ab42c8e1d963fabb7458270e59412ccee26981991fd7e9c3974614fafcf0f3648f9d22f7b9a05b3e65c81fcc577d3f7f6f6a767f6b6b54d8874a2392691e1c1382b9b00d35c4a3ea0260487a7caa591f29f2f6ae40b843cc35fc00aff34e5013b8b6e4da5cbdb539a229070088b3b91032735eb8fbd7cccbd2ca8d62b4e9208869426ea24ad1ce607a2eacc51c25da99b388d3162e3acf22c95bee49997749a7b0b22da1b83aaf494446e732c26dca5e625b1c08742bd5207d0fec105ed7af441e3e99fd0d43cee3ed1776f01de14c7d1def60481296c98fc60b4c8240f8729d4918030d49b257c30c79a3dd0fb8f9aa8584f046096222611e3f53ea9e2ca6333da62bc7bb53fd74f5948781b3014e28eb1def1f09ce4d83696bf9a6f5cdaa20631309e9cd377bd63dc2c785e78818486b7f90a0d98ea53db62f8a58abc0cef9336aedb87838a2f23ff07039e1abc586c39d38062df8e0477c0037ab4ad8fa7171c5e68987b03176ba9c749f37583caee1efb2b25aa7bf8ca6058828561e7abcb2b4517ab05db1b2830145520c10fba7ac6ccb1b124af7e02949350f3da9545c0a3e0a46d6a4a076fb836ef13eb9ce2667f7c8ae1835fd8692e77b71f58cffe60709357a76b7bc61267de1d76338275df9f2a51c5b076a9e7eee212a372783143b917652f53bb8808044ac5fbcf870639ff8515a27d182841d7f15a0c48ca95000c6b5cc68af1c28a5ce604fff6892936b33916d2dfc97546ca5c29b951397a364c277ad62128d2d8ca54cc820cc04c64d5e10b5e10bef68fb564ceb95170f5a05c3f36891928a280e7ac5bc1cf0ef3e9d67095cb8b7ebb272b54702bb1c9b3973c2fe01f338141e3ca6b9618b711a95dd159572b5a28428ae5ea9b6c587197ee9c60d517b938fabea0215c19508ef4e9fb7e385535441b135202a511e56c977d2cd2913a7c2ed06c4c62b9854868a9fc8741f1111586f8324d62cd5fd64376e3a60f451e332699ba4cc4aeeeac825be08a7384d068ebfb9b865c9628c6f75966c38e07ac2639ac033ad7c87fe7cdd43bc2d3dadbc29f48eda5ad5c6b53ff8e81187c573f5bf6a186dc74a1998baafbe0121135bbfe09b6cd430890512451af0897ea25e5289a5b9db539acbc3af98d470666520b3528b70af1772bce79b30276cad5f39b2696b2db8f8deb975f7dfd8fb782493ea83038c48e5b298eda63fbc3eb8a4610193bb159dae666231ac4fc779e95f6ac6d808d589631e42a816cfb9419f43322568b3a978d45d4e2c56d0ceeaca0adf0dbee50b1264ffd954087d31870ca92027262a3db6ba1c708eb22434ac4e44801ac8662df774e9a2cc2c419d30169d0c67e983d8d9ede5fa980ee1a5c27ae9ef992cfc4e9d6e3070bfbf15f7781c1c8343d3ad8ecd022ae46d6d83ac4b702dc6c46f39cb483d681496f367d5d4056f3bde9086407d1bbc9c4d104eb05a1b26dbadbc951ce3e17bcf60ea8e001b7ff46555b83edc91e8262d657a67d925269d480f38a8e65c4bd5b3847e86183ff62d948fd2e07834f85de5ea8885600e2fc5de8f8700ac20625927ef901a3048fd9958f0dd371e5a1d036a6df4699e28f3687aca8375d5553fb0e591fa411116cc952bd276b7c3e9dfb77f3858e0d617ed66fc2f63253f0db82e100b1a6b4cb6cb9fa25a505f06a1e3c3e059abffd6cd9d2cae686394ded19c2f3cd4ba83a7b2e6056b8a91a1c09c217a5443c3785083077ca787464b32f914311175828ba03d07087f993ae8c7c908208bd4f410ff59d4e820954b2937277ee788336f5f86f73006cfe7edd67ec3d2ce6470ac0a1cce7ede075359c187e3504739e50d2448f0fb2a7d19ec51144a1a6c050f72554f8027f83eb184e8f94581dc7b663dd1b7d8fe4badc3de474176faeea1cc6d3494d1241cae792e92ac45600d3cf334e3d8a1a8ff0247aea80653de96c45bace6779d6147e6e573589761674f150f6f46589e8d30175842c03d767a65c4dac6e44188ce94baec17e5b038170852accfc0131b95b825bd1b019c32ba11fdb0c311a8b4265eb811c45f3c6c36f19739fe1e6adb9dd3d20e7a7f8464387ea0e6d76861cb56ad7d710028f57c48d77b0c4d45acd06ecc83f8621fc5f4e100aa44a16ed1bb38aff331078170ac4fb836ccb2f844b76ee4824dd854f2e44b47cd7a33119d9971340a1d6ef14709de2e4e95049af0877ee4d8a8982735e0c6a27ef0867250461c70eeaffde4ef39f811f74fddbb9869d64d3b95574406140b6af199f3f7ef351056e080bb0efccb180513d1706f78ebc75df4b062d2f7936708a8c42be669d0d5ab42f014b373536796d5141fe32a0a1ff91d0a63a3b27084052e03f8f45cc7aa27e43450ec27a68884bd481c85dd27094def466d1d92c262cdb79eba41b1318706088ad90052b6660f3781f46e58b4ac9498a75912e5c10d9f425c6dc2822932e4bdbaecf1693913cbda4d7b7289d77426ae53050fff306f4603d2553652a46cb36d028513b651a60ba33be4bff4fa2b428a17920bc65acd0df8396abd24ad906a8fb4c1f65df9fdde58fd57c20108184c52ed427b7b1ee4df84ba6ebdc5c137a39debceb6dcf5d867a544bda70b6d38bf05afd44c616a1e38fa30387709414fb475a25c9770674276b177bdeafea83d7f464732ac60b7ac693a657040e46a89ea4952ac9d55a6cf9609e15734a0dd8f54e3574254562ae6989c868fe152b657b5860cdb563f270ad936f0ebfc6352fb1a46dcd90825678c2685a7fb0afcd4b3b2d7102dc80dd0d7b1217fb34ce7bd79833d94ff83b084b517fcc05b3c39a78522563482a4e43e734f7951db305611cc5a051e2edc38fc1a6c95bb7313bc05e56e270eb3e01983e2f1e5c0d7856a9cb3bc83ec13a1c04775674f76afb9f060684b4a4bd6b9c21fed1748d0455d7be54e19b32c70979d77edee81088948410bd3fa4044875eb3dd463fb4f22cdd7049bd402ebd875c03816a43f093d7f2fb3200735109d573e261da5fe6fa0f0ab84bd1dc0a3f16a7ce65fbc6785d580ae80d615872119ab905075a6006b1f2a9b69a9fb4c9652a6659d414b7c2577123cc400ccc5a083261a31750bc24b2de03dbbdd292e27f77fcdf2fc3e4fc826dac2f8951cbf2355bbd50be9632c3ee14d5931d5714f12f38c0ae6053c93c5e4f1c9cd29d8be3d64998c41029c6a18e940a9ba7f14180a80fcbdef18b29fbc218f63b2557fad8a1faf8c4f9847e71e6f8666ec585155afa753865c72444357b640be61a7c46dc75b80e641fd01a1f61d12bfcc15db6ce67364962eb3e5f0bc1df5968d1e4f18052489dd18667b32a5e80bfaddbf53cd1169808131c76878681472d14c03846916eed0d578f7b2780419a19553658e9c68d29b7a206b389d13dea4fa92fd1d074e478839de483e5d489a89c3dbbc8d6db26e41f1e9c596038fbd6210b5efcfe34bbe84d1497db8fe488426e60b44f7eb2e148610f32188f2e7bd898ab1c132428986ba04e538c46dc067eaabc0b753633fb6cd3f3cc5c08d70fd7b05382a9fc562f1e42aa9313d6e72f9e09ebb9490e4be612a80e76f030d896c8815f8025289e4a92ead7b8372e2de8cf4161917c43ff442b709b4f493c7ce901a5a658ab861e5c20a8190867b6a70b673c485e605bd192f946658ff2b0f94f0369f66f65d1345d6ab6a142d1415c2493743c5ce07d4dcf09558497edc56601f6e43f001bb73234bc5e46c0704e71e060e1eb96f288a8f29a7edeb0b2cf096d2a9853eccb728fabe56c91b394d04d180a1db7a30a6abf1604b4a108e7c53cdb6a41df3623fc6d27418ad54664b6563d394a41c043eb527cbd6de224aea33c9087f51ce6bc45309042b45af351769e80c288f5895cd35338ac81977ac33a5d3681a8a2819227c3d4520b204387cf745c12c4908ad1f3f21fb13aa05da8a481b7b44e6ed06fc9c96ca849b9bba1f2431f7c99b64b8f4c41b9695f89a508dfe61588ea060988ac7e312b873a2fe42244a6a98571ce59ada08d957d0dcef29252952e2acd24057703c379581616d74e76f6ea5f1c89984f676ca20482b47c2224ad4322dcfa0a397db3c7661d22165ed675918fdcf8c1f2e0ec9f365b55df0fc2962f201cffbf55d48dfe18d9dc0b0e12fcee9254d6905ff0d8d9be0a76c54b194cd77b98b1935d631051fc6f323a21e8a41b8d939b817da78f70dd51efb98c6bce6f44540ea99c7d3e20892641593bdaed67f5cec54371ad75599f7d6c305abba5f5e025078070ab19c2fb1dc5fbfa4c6b36c3d6d4c5e4fead9e3de7d3ff2404d01edaf5ff85ed91f1a8b5cb91a5a8a0d00f1175ea536db5e1e37d3b460756524355385113e5b8dc647ea1f75804e5af9e6f3de3595e47ade41d576d9458a74791a90b2707b91bd6680bbe17643c1519b04da5944d33f2c60843d5e4f43d17b10d1a7558e62f211fda56bd2855c344ef38d79725c4e9598a2a1c077bc79772c42507f406d56ac8a5b0239eed71fc04581e73e565b7993d39ac62686cc2e71e7def8af44d84780a1a6a30a861e6db46dd2c9ba0ce6f34a3565bfa5cd0888d2e4467cb9c2ac76a71457c3d25cbc4a817de6055437891062ff552a31bef429cb78d525633467a971fe7184167de46feb0ac6f5e04ed58fdf6e9e39bf59a61d3959de91800d15b8d7e87387ec7d1760dbb72268408acb0c3f17fe9fef32dfc7a94a43f3dc03280432c7154f163e5423b0624b72ab5bce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855615f2d08c865a14b570484da8d19194b5794fef5edcb5dc13f09e98f36d4899c4163db081a7ca82dbb99110e16c16c565c4a6077f7a5cb71e0f0f196392b3c8c6321ff0c7fbd93028c22ae019a5d245317e76d64d0415cec511362b6358de5cb652ce63fb46673e87c72c6b791781e1af9b6312a7b16cd84493b62e6002a139afc6f1081bfa0409050864ccb8fe7f5aac3d4246c8382db66cb9603ce2c29d69d1faa1939a2813fa3a918d0ec2314bd7f4bf2d293fd025b36ef28680270f63688a8c43972a2629022026241dea9fe691f13b3d388f1951dc57a2e6d0e562d5cffb7067731d08b0aa806443650cbe08e79e47253ee26fcdac7ea79e668114a79b893fdb7215f751cd0e135d32cef5aa3b4f4a986051e5379aa441ff2b08db0dd711325d090eeda6d965b09da84357ff332da07a31eb131dd4232830e3fb35e43ebe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85564604e3db373b082283432b4c27a91cc748afceedbd9898c6009acb24f13a029d0a7e20e0e057d6a8516bf791f6ca06ab2818de46bf68fd7c740ece7a721e56a9b886a2656ea93e048acc87b21101f8ee98811e15faf9026ab9745d6925daa64d2ae63c669266c6a6c845d8e4d678782e92b0c8fc9d4b1da422c57c7782135de06c8366ab9847a818b481364612a9b710cd0770c322066df6fc7dc0a3e176b0091f7c2e4a1f8387331af1103a7a61617152f3c3e67eaf5275b2da050e5151e9bddf33245abfd38c242c1e6f495d20a8a8cbfbe3da450f8750caa485af77b0c4b022d128e42af6cff35d463040efdecb3a32f4b1b3a2e749b066cf4247a81ae6203b945d5b9f4e4115d1c6e10eb12c507210ab8ee01d35f51110d1f6325a50714d84abdcf2bd91deccee429c7c05fd830b52c79506d00f1c01e764d12f072cca699c20cf1336cb7e4defed4b221245d20cb381d55098bf5431862fb5c613db1e58af1c924a1efd47cb955e1bb1e4215473b9dd15d1d748626b73d3902ea5f4e3cd38550738f412dd2ab3ed367521139f2381ecca70b80fc95507cd82b1e039d5112eb5256b209f87377db7f3942251ac2f1b23f4a9030ada6973437aab1c186cd8e5ccf09ddc41a9075c08a91d74f3364db50e5a699cda8f11f11dd7f1aed95c00484ad3f14bf275dc113e18def14afbc4dcd63df2f01d41b06a5b7b09c3e871aec9e18d678cd6cd2618ae4ad2e918514faa7ae5480781f3b27e60ceb441460892d4d0fe97c4179df47360311f854c155ee7ca66e7d91ae6969c8e9d31ffb112de956a2cc3aaa7208816af1d98a3716d9c527af02921397ecc510590ab1ef3488e6690baf86468441ccb0b0528d936d89f4a4901694e2f66acd8b4189f4373f05b8758d8eca2c3cb2858a239395f33915a519c43b548d7b6f481b29344c669f493202b50ed7cd57356cc29d4581b02291a2a8c08e878d5e05233634f6f5d8cb0ced3c8c1aaead7e8869fe1c9d30d1d1f03def05cb66338e7eff0bfcaf50cc29ac69a5a8847c011f3eb60e99103f4c734ee7898cba79a5ce99c01ed9479f377e9a710ef290d3aabc1bb70c7350d9116b18cf0597153abb87b1ad94e1104285cc6d70b9cca4c85beebde1e5c507a061ae5bb2c19af8c846d25c7a81967cf19c5086243cce525c6cec134f95473c1ff8b4695df1daa9a28b15416223221a25a155935c9a5ebca06705155f954e8ed7a740ad72440b11435b68d5842bafee80a53dc344032f0a4229d7edd5cb885f03df5f0ebe1d33aa56739df98bf2fe22a703ff28a1469eaceeffc84a4aaa4273ea7a2bab8ead4ff6230435162cc3f681d05091fc85015b40ad1e83c4b88608580d7748492f245edc0be3794ed2469b1f1c4ce096f25c5e6b89409b40e0a59a4b7cc850514ffdf3e6c4e25edfd20e2869d585aa717b7b3dcf874a742d3a277fdac1b6cbfab4135d7ec4c980579b24ea0e60ba3799975880da2c5d63893c6a4959aa4f3ec1e16fd1596483073d1d9edd81528746ed36b73dea70b45ac98b8e3ab259972e30e88b088c238a84c5c1eae2fc413c6b365adf8fd6d9e93a724f2a430c2fd361451973b5cf0ccb86a8c391ce5ad01f82504f8b22cb1f7375b9741f1d8a66dca0a9fcfad3cb5fefb0a55477bc7245ec396d24f909d46d8af844f86b6589f5ebcec5fc5cc058016ff7e4168c89fb3a0291a7c6f0c9857ed7a5fba3e4e2f941a1781cc3f1eec6ae9bc180ecbe69aa810fdc0de18d6897a4d96f40e19047fb8245cc03d8f57e3113940f60894a02dda824f76497bcc2208311ea3f04c553ce77dcaa98565d1e503cd8cfba2655882c84253a0ff1f80d6d121a8f7e7c672b4b3a0976f3c9e00c659468509ba4f6937895fa485b6faaf4caa98046ea55136282a2bef767a4474baea7a72abe6af7555e96450f3389f061eea01ce2e3285b023cec3cef97ab3411ef40d50834ee9bf5b2f07b23349d47c29bff14fcc41272c61f51c51ba892152644928a2f5341bbdb9ad36b8221fe92c428b094726058535f6805e5f2a27af7eb7b434e478d68590c0c069cd24ecb982c2668da82cd0a36903e89a692f9aaa01ce37c023a32318068df6d8a4341f483b1a56ef2fc22dbe3cc765e44795104c445f4e3409554564403120c658f81b52ab463f1632b8c9f78499bd9653f8f93d7ac4b18ecdd2ddc08f96dfa33b9c0e0e2bd8c379bfef7fd6e71c1d532e98ec891750f6f3cbf278ccf2ec8c352cab468006104d4f0d9aab8fc00e0d9995b7f8813424932323f639aee345669837b1479cde7a34ffc7bf1b584d89faa1408349ec26cf799bb4eab8d32b6c168761f6171b81fa8c5dc219e04b662c1ce92d95afc75b2ef26f9b25045d5f79880128fd15dcbc895678adc4d61628955f7259de28b7054a220d2745eeb021e09715bf31830e8f4265a4b5503383dedb8e14ae70cfaa2026a2b67ee71da91bc74ddbb696af6b16133ffc95ada51818fb358e1960ac71ab2df2a5294b608c104aa2007989423b9a7b8cec6c576361d65b821c8e9dca4c49f26cf135a96d5fb26128d2045447a51cf11ce8b0f6c7ea32898d825a51b3e854be1dda5ab9b68ef28199cffab9f09b5de86ab69e5829030f9d0c83d6a3d1ba20564991ec49d0e4f150b41b303ece04bc00a4a60721e7a9dd0b13fa6578feda725c579e96aff37e2fa2fbc71073c6bd7a0aa4ad9cceef3b501063926cafd7b08f75b11645dd3be86434f51ae4ddfac3134fbc9fe1a2b96de71c8a768d348317a2db992f44fa6efa68d9d79b76b12e3c0ab6822065bf5413cf9b866f9125963310318e3f7e724cb35ca5b6d67ec95450acb1b906b7689d634c64e0a2c99d53831332f50508a170e261843c415a53058d27b77259413cc10e1ab90789c06524b8dcf3c047b0b59bf093966f5b6fba1554dd1b649a931c0ca244e3f0b5985fcf23b6e1f4e04bc9719c42210fd8fe9db48c6cc7f25a8324228d7090c05065b57e1f1795b46f3cc152faf35ce766d991b26363d39e5f59fd778198e2c6bb587830f371fc5d5c656c9bce11b595f90748fcc5af83dbb56dcb0d7860096364ba6f600f0de5138472995a562c39cc84e405d0f8c5dea9bc5da202cd1478656bcd50387afa9926377349972b484179f1bd4a5fbfc846b22d7042611be6f3e0163345c57ee22d4ed77319bef5898f87eaabe8956840b9c5195d8dc413e13be3357986be2a687400f5cf153899fbebb24a2d87dbf84c92cc15a4936f4ca926425ec2478f89984c42ba6b5829498a6695ac7aa586abf4aa27261716c70f94babab7298e96adbbcbe3a90a8d2c874f7691310281252c70c0ae6038653c0cee19f3ea676116d3eab05917fc8ee2b6bd4a3b33aafc95d4965b513d44f6da3ea37d9552351c33baece352ad3f906d2c7cd7226ffe6aacfd0726c990b8a9eaa46f45a67caa34538f3fa343d57966f1e66a081fdba9a2e5c9850c4c6c784b60b1efcbbeed402f2e8f4b5555c80e00e6bba2c7bb442f196c980248a4473ce4117b5ca5b86b47df966b89fb786460f500556288059e9e18cd8c4bb14de9fa6398f3d3756f178d3b73e464777638aa20dbd10cfaba93c437154163d3afc199a22804846fdbda9c3948d565f169dcf784126e7d3866711ce46159b9fbe1b247a356651d7b8f912045bc1db6133bc51b2f92d9088af7fcd7c9a642a546ed7d02db043124ef48678e615904ed97b4482098e4069b3db4fe157a550ea928e92ddbb34f531b019d45dd094f4fb5b1043543940d0a9b8242fb3d528b2bdaabea105447059704164ddc67a90388d912580a027f2a9afcc2614348c898dc8e397c29d015f438988a7f24685146a874e1316a62fd6d51e8608e4d8be7a49f3cb63693c3120817958dd7c2b951c77e99a1bfa248a6f72e21ddea2da911b080a826fe42347c1fd942fe209ab53d08cc27093b8303a644f18bae6eca8886ba91ab9d0948a6e8521845d7542cd819f4d2fe86eefe5280dccc88569e5af186edc201e0cacddc12a5a9e767b42a48a68e0cfe14d8b079ac0c1ec7fb67325c41542022c852b5ba5f5a6d3fdc0e94d62598a825e8be5c566dd34d4cecaae1a008a3c15baab6ad750ddbe40d2ef8ab9878a91afdd33678140c5fb837eb22add852c2fc1639d6399deb5d39ed795d15361a22cc27891448a0ce59bbfb125fe407af235f3f905da27882dafe5f41067e9974cec49cd45a7dc09e0cad07bd3f5acb3d177f75e33baf28b1567720e9797faeb2e4e4a2cff75244b02b4314f112db8f6fd73a7a27fbf7e82d282cd406ec5a9a7d4bab4a95c0bd8facfcaa5344e3fe045aa67832b4d618b31d91115a6f00c15ab6ddcfd7b5a9f84117cc7dcb08f4c1299cfe775ce9566292eedbec8e36133c96bf4af60b440f283d1341369480ca65ca6ae9cfc8fb5298ce319ef9bcd1ca62aa2086e33b8bda34f096734218b6e88d0a9f9c723b570456734e6a042fad41d90924cf536549f60c6bf12c58b8d7aa20afbc94a4170299443bea22ee499854191793f5530cde572c9cc7db2400154849cd919d06bf7ebb2bf0ab276962a985fb6526a81741b70ba0a6066ef4b509996c9ba05b230c5938f8b74629365a8d414bdee8bb2fee30084b4f92ad66ae8f3ef8a3fceff3282779741507aa4e68fb4f4ea12873a77881a9294ccb6c80e66db06c8adbb3a6b421bf4f1003a389ad71b0d950ac6adc4887081200f1b43c856ef83aeaab48e70bf809c65d4c70a6dce0261608879555d07f0b571d1ae997ea54392a0cfb916837220fadd8b7b7ed65a8298ab9077385eb2971295e66e39ddc624a7556840b7311c7a6eee6bc2b2c2e3210bfb12020c8096ada7f5933426108b537b20f3208741958c272067ac46255846aeb54ecd49e06578243546527b1fb8f85bc57ccd26ec60967b834e01479747a854d865467879548602169ddd39919d992aed308e5f3f9b97cd74db024ea2c6c5e421375ae41a1a626800f4e7bac5d581643c8100c6eb0e61ccf04dc0df674fd545b82e49fcbe8d47e6e140755ea55905b70493ae1ae8734472fb10b26f0d680cefaa2acd81719015d4d7effdd20f5d6a6fa037932bbf6d55a708918a946abd813872d3b085808c0d9e4e2cdbe6de3e16a65e6fa51a609dfb4e0a6743f02b472156c014dfc39bb8266f25418c383bf98d547abd784d89f255f8f87c0a336fa10860f695f7bb8b819831a6a452f04e937d1458b3feb8d1ecab8faf3e8bda81949e5d74d63ecace419c0f29e442da94b070115f044c9d309bd0ff4527c999c601641ec4dd3d5da84ae7211faa205bbd0f910200d2790200a168fb4b60eb148651628bfadc4e7e9a396772b32224d24d2d1a047964a67c8484148fdd20a853773fda02103af1121c3ccd9682197f99e2a61dba30bc98c11c30ae493282a9ff1e110d6007d8fffc333a35b67902f613997c74bd9b961c7f0578e8dd7fda0309044034dd3a4995b12a468f09f55f53001be877846eeed2f4c421c0a0f238188e7f758c039f82a0cd4dabc6584c5667137e83d55ba9e5ebd7b21a59dcaaaf7621afbb38e9c473de49c94ef6048457adffb29ed4ad725692a902592d2f0a9ebd29801a7723d99f41d3e9c87fa7b1e4369813592806a509d259ba7d18d46930831acc3ef0856377ec757bb24ac544f654a76903f2aad9d046192b0d1ffca0e8ce0213ad9782b71345de7d10f3edcbb335dd5327b1733d83236d367588fcfd75399d7da170f060c69913ae84d0171f5e0ac33766358bd6f7327f4617e0a84d43c2242dc833828c42caf626f6b14aea9d4c5692de9415cb595e5c00e370c87ec8f41449b33cfba59b984bf0ae5a7dc908aff8e236ec4b10d4147e10f6e6c4e1d69ac11aa0469d0cecb28d9a59c68494cfaa174a74e431fbce5f3c47b4427ff5cdd934479099f4a670a7bad4b2bc8704b19eed79716abcb73ef30c7f2350cd00b3c88604402b12626a9b90a06e74aa23936ebfb4d1c58a69f2c55a7ac562281636f62f007b87facc24a38df5c818dd86552c312a63bc71b5993e10a209dc7e7326ff262c9c0ebdffe5645920dcd021deb2421dd8a44b5c7625883cd7357ffb1aad2cec71e9db0ac57339d6cadbb85fa3f2a885b7e04c97ec1af308678959dd71c4f0ff07fa85d4e9614531ff771d409c761974d9dec35b4f94f58b86826013640c9e4db850d6a81a34c8f218cdab03febaa96c6659995d16293e99254950e1a219e57c29a9cc461344a3d7a1bba447a19bd75ccf3851e57a318fbdad38e724069f7bc11a1a4a53ceab1fe0fe1bf5d5f37034f7812bb68d62e478c7001e27b5a55e3ab0c0f0e04bf4222dc00ccea87138731e04b9b1aaa25486122671d689ef0717b9015eb59d5ff7209621bbbedf476c17db709e0c064aa1faa8b1657874bb0403439701848d4681d6f8765d6afef702a5e9b0b47f4b5d5f9da2212c9fd66ab919cc4e2b41906bebe980b49f30fc35a9888840f8ee3f9d9b8cadfad84165b14fe300b76c5229d76734f7899a305354230aa97aa8d4cc12eb3088e3d0009305120652d3a09ccce74b8a553aa89ae9cbb1ce64f15583f8a63c48f4bd2a333cbdbf1ebc5bf2bef9fb881d69ffd5c39855d30239ef8b2f1d90e4c4efaeb222761451e58985dcc01645fcc3a1ddd45dc9828cdd5041a744b9913a0939510ca47d5442a49158623763d25b86df74956b52ea389159909863f48c4ed3d82225b9ca07412ece0a1a10553fe7620c63f13946eafe2ce549b38fe313cb04c61e2ddcbadbf615124d915d075ea1f4f540daff52abf69ef0048490f3e1faf04aa6540be10628a86a2e1efb0f8375cdbe52bd55a98410fae9e67575d686931c065a05680bce1db6cd63e29f9f3d03e80e769445d476412e90568c5930657f58d90a9d62caf6ed04ece3f6033173dd62d6bd7fcd12c80cdf185018053ac5b6f4358564db80d495b1a9fd66db17ee2983003b6c6a4b517b2131d5b3aa72e92c9299e2836e8b71ed8925ea86a9f6a358958801b8eebb49a144e98a0365cabb1d676708c15ddedf9b5be9539be2d13a87a58f683a0368a5a1f1bc3da206f5da7b48816e35af897fe547a67b2c1d1aff99ce6afa86fabb8ea2908afe4b272041c4a821ea0c6146f44fa4d1b6105de80d25ba2cb1fda9ad49e0904026bb901e82e104f6f738dadcd3782ea10b8440bc1e8e9146dcd3b2b9333a0787051f84ace5ad429166e2d9645fe2f2730070ea71de5f7a2623b7ad39361099398d79f9529d9ef85145c380c5ce68f4f9d6aaf10157da0ba989c3e78f52c6cc8a2239f028aad9f742a14cc2b7d2f6bab06ede81c032e14d7a73dbac637143ae89a8e475a119f1d424b1e8d4e2bb32311f96a07fcbe2b8dd945eed55c62be54aced186bfe2c17a87db7c617e474cc25ad189d21df42c4d23a4a76678e47af3ec79c2952497b16a80f4599d24b7d8dc7d209f3a147b45f30aa5a3cf03135576a50163dbbdab6027f696ede9e0369e329d4336f78c1a8f2cbfc5887d2f4161454ddbf927ebd12808615e7e7502340f4b0ba1a43186c0a2920b23c17d9ed7603379a786524bdbfb3203334b7ec22a41d9f56d893a74a17e426b74df03129fe5cefb1c4b9e91da94f3879276471e1e26e61a8cc5d566600c6f0d1a86b09970da4a03d5441d2df1080375b0f717d57d4fc1e28afa78f9c25b01014e76df3a0c3f57a4dcb3e06a621e35457b0eccc48a8592ef5859efd8f96de33935feb0b3ea83cc31b5070b524d34894575be4a2fa2934f7b5fe3f15b5709ca8c04ac2be4cbb2a436da8a5975b2c9c0a686b186f6986aee671f9562de8b1c008214280da9757ad42e72c02ca9890585dddb48f21e136ac343f9fbbd00b0fb467d328920ee94f2f032f6dd0e781ab4db11ae9acc0c6c91b3a9637a22bf0f073ea50ad08294f6b9e9045b5084cf56c33d0368913a7814cbd42819d8fcbb4b85d1b92a289158d64dde07c26570cb07def81a2674eb22251294e364b3391582948eb3c5fa5a2f02e58d9af87c12de94e6c266a2efba40d0c113f8ff9b5c68d14118566c9758f32f2efa6f236e287c22ffefd1f67cb0b6ea764c94e07dae35c51f572b4fac404a2f245e02c176e167624c71b745abdb932c83d77b539405bc7cb312028e8ee8ffcbcf98d89308015c9043f6703468ecf327b31893a7e472dfa5e31ab060d49fc5ca71d5974cb5231fe49da8ea7264db32d867f6dfbcd7568f9c6b6f8b2e5c940a8337adc566f9c2d980cfc0167b97f6457078fdae33c9777cdca3d1cd567bf6f69cca5edacd6fde21dc8fae63a6c1c89db4d3e631f39a57c6ec3132cc17b82234922d8fa2bf0c4cd9a939613cece1d448f8069fd04d5a8c936d8b7b48c189d5498ecee7dd132ee8c837d31e35f2ba33a524fa37e160ca75fd0f685135764e464095bdbcb16165c73b15aff5863c4dbbfe140e6d3e9fd5491e5be4e250ac86be0ab9c734450b6d4bbf934269a0151e5357ebced6b84f35e5983eac67d8beb1a0a9676000622f5c0525ebb748e6a7e73ad4bf6d4daafa59734bda733c9c7c4cdbd99350ecf14dc01f4dce9227b81ba837d60e81803fd71b31919ce85911207e86259371b6f59f84f77aea7d589452e90c09beef8ed7440f93485ad10e7e96bacf4b26b2e53a74347fdbecc1ae35fc60fc382aa63c8326a8bf948072291e0b99efd051296659dd4a68bbb260d6b7227535dbbc602e0e64f8621741f3363928475327ed0b0980bb67699df3704a3b7e4a3d7d39c08615212f2c663b944c30c2bb3c371b941b4640b3b09e1b6b12345aae1d64778fd9c765e7fa0dfd74ee6541a669906a3bcf1e50f3a1163c9f16a19cc438fd5ac57d5599cd2508a71e189585837ed9dc175083560b3f931013881c364d39268ff30cd6f72004e63dc7649b652204a2ce47cfe36abf3c81bd05459ee8f849d1c92457b15132addcf38d60b6157560f1a90b04ffeb24be0e6369a96b209a09f56807e05dc561b834b656bd94253f4fbaffcda795f43f287755e863912068e293aeeed3c5214e6d9bbe3afabc3328823a20f051b2187fd40423f9b434c7a9650e9724ff2bec2380fc74ebfe31b4d12860d8b6723bd322b90d26d00daf69e889e1fbf17509fcfb97418969a1500371bc9b67a15751823c2f195ad52819cbb4edc99d09f832d7e8966226d2e3c625635ac9e39646f105a16d48de968090e1d76e1bc3c748cca632d684cf6b60004228ade827f9df1bc0e9c4397be175fccaba5c23a63d60f8cd86dee53f9c18e3b48ceab7814941f8f63e04e85dd4be58e5f64290cf8e8e4e13680a10d08ff5aa5584c00b9a4a68649e51029a76e4e55e2833e10a4902451e617d034b5c3cdce8c94e4cf76de43cbe35c67a58f1588eb772a1bce7f402d164072f2ca059fdda4b4604a7beaa07af6b447b7b9a6dd5269434093e698507022d13f18a4beb57d5fce64feaac0635898f9cff5cb6b2fc31618d71b643a292b198acc398ed3fff96d412466771c58aaa9785a47305f15e53c2aaac085fa39721eba0e1ed58abd396dd06a0708ea8c4d0084673bcf0cd34393a7a951d8515947d4508085ef2ee9657efcaeead03890fd435587917b043d5a02831333071453dcb44dcb16d5a0d53bfb574ff02035de983b538019367c16c24eb61ff7365e075b71a2941461dd91a575419e13261fa9d85f9c251d01a3f6837b29d7973ffe504a95123f59878b68071be9852413aaef454fb30c5fa1166cbb4043f0757fa020fab9d243c050f4ceeff0fed9d1781f7c752f76454f36cee89bba3063bb936fe898bb73b3f47ce3455ecb9df3da3705205fb3741dcf2bb534599a73fc2de2acfa71f9ee1a5304674622b7f2d427d30d755efdb74a1f53a6abf4e6f1bd1740f5992a032aa65cbdb539eba6b413ced3e3fdfd4fc782f85a8919e4d6040d28680d4c7b2406811c0e374e0a8784ad5491cd3c5fe30b1df590dd2adc2dae972456ca3ea8cd3fca29e18c9a444c74eb8544175f294d4095beef0348ef8398e8790f8e4b661865263a54bf6241a4bea016f93aa71b43631b0bacdf7eaf8b6aac9f0ac76f11d4f7f5410792e84f65270287067aa2d221d71241c0f9d6962fa5dbcc93a0247a1a0a645444acdc724986c3fc9fd2b8126d2c0b256ed695420725f1440d558e25d7291ebb1997b5200b7bb5d92abfbf6dcb9791f820683d8f8df5add717f1d2b95a8f0746bfa51443cf8774ebb80f8348f4d4f9e18f3970b21f8f1a27d607daf5db83c7b4b290f0812c04305e0e84ffcc265cdd9828e1e660eda0f5c509d9901fd45bd7b61569646535c9570c53a778d2e623c74e50c81c14a73aedee2eaa64060e2de2b1220d9956cecc0ad1e82e640d2a3346afbcd60acadfc427a234801e1131ec333d6f44cbfadded8980e3fc169496070f5c065805f3ce29583222c62c75dd00bb24234825fef7d7446a9ceffddf62025242819b0846a66387aa963fd0a9eadb75d0f002b10b0fc2c701a1d3dd6434d4e9418ce062885273d024ecb9fc6e2af94259c65401b1e68e6d1a45a70bc4dc59cf868531646dcea46beddb61992e1fece251d699f8e9df2632548890f19cb52b2def984462c18e9214f061a0b66c3e8b3fd270a38697533ddb7b4c1e00ec68021105a172b4bee66820688ce5545e20e4dc7561ec19efecef5af1706017c45a85e9c7c507522bb31d6d9fde9176c74cd43f63655516d62dfc29067a1609fe8e5a382eb7e772f06d7683daffbc96d122125d9f07f362ba03faa565886dc151178e471f9cc606ec7cc813fb4970504993cb4afdb1ee3817ca1e4f8634df96f25aebd3508927e15efe6c4d9ca0f0fa4945472ebe48d4a0e3201af0d595ce2f73e24bc0fc2e86af875fdac54741e7fea0bab0e1e89ab0805e1463ca8b6507cc654a0fde5ca53df96ad11f814f0551f4a46b762edd198aa2fba63109065b177f4da88e6205fe960d6b1aee420a957a972d7c0fd4c7c813384ca19be47caf11a8c42aaaebab9e8e1921cf72e62b682523930f2fd3a8992f4146a7ddbe244054c8fc1622deaace3bae1e3d686057df4bf4ad2841db30408345fdaad362837d9bc0dd4aabfa450150e24ff7777e315361dfc34303f993a9d558c8d374a24d526c8b35d1d595579589dd5907e1316ffbd50d1c481fd0a23b425bc6e34eff3ba618a65eb64cc61feac3eebbb203b9a9b6364bccac95a649f94e804fdbe716b10076cbb0f3fabe9e6c6a81e224a818a97926414055ad933530eb3afe7b31d0cc7831c602941285a8109770edad7ffbba39c9bfe79d7669e46bac2307fb1b65626961357b822c86b86013e46185956a2467854e4440e9b7dffd7e646e30946f9103f766d54fbfca9fc51a18a7cb85eafcbc9c0466395a4d9aa172e95cf46fec00d279ff66870b7bae29d8f6bd6e0340bcceb12836088cd1641e939f78c06a2d4775b51bf9bc80890e14f55a8b98081cd275c8325d8b854540df473de57a3c04286ec98001063d9f34c8b1404c7dc2b40c869ca6843503c997c8e4ffe25253b0aa31a643f8dadf2b417aa943e436812c3d4b37bbc8567588557b7106dabf18d20db59bc6b80cefdafe2fbd6d7540dd3c317e96ab56ea60cb606aef6e87e388b8293fb3648a5d61af94dfe8014bdbce712a7f8dd834aee74bd7f9892b9e956b1e1adcdd53e27735da6573a278fb5ed4d80c3ea3f1ce01823c02232afce23546bd9a5ceccda6e8b5bb02c37ef448e9942d4c224754fa321e4c6027aad5b85550932d96d03a97f383b970c999f3b1ae56f000709036e1d415c7c9d0d2d2aa809e40164182df714c82d7629c5a384c6d57b61bcf29eda12d5a6573e3457a44aa509fd7f3f622a24f291b2ec74b61db75a22035f860137ab52ac9998cecbedd2d60086894a3201c5f6e51708152980399bf1a8db51b74b797372d5e6c5ace3c25d49fd5e398f3130a279e8bc460bbad23e22babd4aea831d2aa56d1c392c95ef5ccc978fa3dfcdccfa4a542760adc64bf4778836ba06f953f1f91df156d9cb7d528beca480da3d788a15317a82a26dbbcc6f9f85602a947158042a2e9fa7cef9f98161b4277ac140109bedf687354f523acc3b5c1dee9dfc943f80db730fbd2803d1f99dd5f4c1be0e50b5add1777b19ae28080c0545afc184d2e02f2f4f395de8effa5c2d80036d3d04bc435b339f7ccc4f613c71a1c2d685390a72134bf98f1f8b09ad20aff4debd9e0aed4efe031e40ba08fe9fe4dde4fcda456c316288a1820a2ffd9ba845bb9a84a87cdb9d8756e10ecdcca1942253d95edac24e9e7ee64b5c94c18030122021f5440a4f08c0deb93bc35968bbaaba8db2597a67381fb553bf43419d2ca340606c77131246011ca9cd03a3bedee9eaf1eb15adcf1fe131e01ae18b560bafa99cb9f7c6a4b99e58014b4bb67cf344c8c4e88697dceea444e190c1316417d253f45fddd0efc9d6df0754252ce52512402ef451ee71a38418759d7989c353425ab6870249001a5dea83474d024d47acbf9739ede42c34fcf7f474e588522609d7d14763b37a9d18ca60e5ae36310e542bca166c666f1702040609103e35e8181acdadadd9a87b33712429a5735572ecc0b237f74c9421bfaec3fd6b665a53888ddf147ec97353481db704e701f6d58b024d49661e10a00fa6f06aa60a04b2a8ddd2f57bce118e4214c8546c2a69d8d5e6ba291e60fd7ff09b9e8663959bba730bf61f8bf5efc8904b736437c4bf735c195f72f5c3a848ce67e69abfc2fe76150b4ce14434bde5feb1f342be3638c968efcd362cdf5dc405c0ca09a0933c5979152178b84a09e9472a56d93b568b675e4a1db992f0e4b2e1dabfbbd6d055771826479f47d44542a7665b901a1cb6cf500daef242284354b96fa9a3fdfab47f197ae1bbde243c66e9a950e582831d560708ded6bd426d874b6933b2aa66eb84e4fb56c1a8bb105b548d355ea00ade9064c823535aa4a405ba487f1b416534cd4f9d0e37a5b41e47e122c19cd93e4aecd93e9b79f7477dd21d6e4ee2137dd226440c7beb7a6e323a90a6230a53ba297ceff0f70dd8642bbc083d7fe18c7ff143942dae4468d92329f6d3f171681d129d09ba03209c46f70e742eb3c67bbf352266a1999a17791337c81f504e9c159d857eba2a3523d61b3165fa9656f93da36ecf0d714f5cad82e45564d58ff5f4b593bf2544f2b93632ac552874b01cd8aac46c00708420eade9f41a9ae15b45a97843d7c8a0dc31e9a2ad1b1ef5169ed776acc1b902c5465ca8fab044ed4739420767e5e48abfd4db0f3855b217ac49d8497ec46d1ec0e554b3655ae96d8008ab015720e38e8a2adf4df7960e6d42b5eda6650c855f29688414064382d059dff4003fe44d18caa513ab364853b8f190d2775307b955a07abde4ae82c57a452b07e521de40a154914f424d39db11f4feca248ebb8bf74e89a9781303e379f0fa84c822ca97d5fde12f10272f17a640652f994cae6b3b1b046d477f7ab580285f996778e443bec3045f14b4210465be08d0813195ea04fdf34b27ba78218ed08017e831a037cda3ba4ff4695c1d5199d90b8f2e30c87b2d2ffa6dff48a53d1d2d9836e109e6a55ff4848a213770622fd24d2dca58a189de27ab98aa996460f62a8f216f748fe448990f02e878f9c6f47f9dab55a8f5ae9b9596890a65a1082e9d85ed539695787352a5250ef7c395df7c818b4d6689865ea431c8ec65448a4db6a169412d858e01ee69382786dd458b91e15beb9d311d5bf5d645ec3db13b4758c82f33d596b2aaa434b0ec914676418204d5ed31a39329e6d8f05ab9aed0237757c3b7d10a2c471099645514d797eaaf97f55d894dde219833a25e8b8e4071773730528875753cf175102f4bc96c44ea2efabcadd9aef1da95568fdc232a8123ed80c1e5c536f36bcb1356eaac0df8f99bb65da2c1fdb46aea2d1e3564ccf5a3e1d52c22fd91f56acbd0ca9fcb3d45dab109dbbf4186b267be87fb9221df89500e0e7f219153f9088c8bee95ff936e2fe3ffa42d992e67e16079a7789c7ca0321c82947c9b6873a093b0dd132bd5ff3a9722dc21d6229ecf36a6f3cdaf2e00cf43908b65cae595611d7e76978ff499b5090828b1696293d09ed6448170fd9cb99953f9177535fe375dce132df2be5dca0ef339242e348d6e79cde65a43864cb5ce11d8b709e6db52204b7863ffd61a59f9f0907bf47fae88405d5d950a2c7904799cff8f40c08b379ea0a8ec7fb3e872d27e8e317ae6c0b2396911a0ef272d9b14b45e1801368cebf08ce217bcabc220510868dbb7e87d4aa9f9ff15491578a91da60b880a37f14803ed0aa5debf7f75f7d087b4f9ee365f5298c8f97c7c3e8975bdad17c072623c8fedc076c36b6c44ed003b3d8aacb421c55d3dcb80016f9661e8e9beb298998f39014c515b0a116aadc9bf09908e774433d3ca37a4b27bf998546ab44c84cbf88fe8c655cabdbe2297da5b2517ccfc0274ab4c4c066f6942f63d39ac6ad372aefba352837cd7c5a1b019d630b81b01f72f5944ee40e41011d368c134b798021256303dc880ae30ef475bc19e822f95fc0107116445765b4a1283305e4a8c1260dd4d7564f23b2ac83ee4e0648bbdac6ccab044951fa53dcb0f019a2f6e1cabb127198d85a1be684f0a07f3a9de5d67cdec39ac7b124247abe17c0f8a6b87b3f49ec39a0e790aab4cada6319a823948c28af6b3b0cd0d70cc5eb231a7d744ca9e598915502098dfb600807eade52f50237c5219696388586438a8b6578509e33496a5ba60b85162b97ff0dc24b3a2336288d86c1edf435a5bae5caeb64f6d77c5c3dd8d5f66603430d76092c5a3f9a9455ab63507a170d32b451cb05f4dc7f5d1ca8a3a372e116e98066434de46387877d10854ac1eb13740835103222762fe7e01345bbbe2db2b0811d9e70e3edcede75ed998a75a156d3bec316d462aeddd7c8af5d289b062756eb555a57201b36b596e4769ef269df346bc32d4b1ba0e4dc31bf0d9b3a9ffb74e1d88266216325e79d25bb1ab1926f87fe271226e26bc2d250f20713dba666fe1ee0e40822c874edfcac8d2db983120c4fa6a3f89eb12579f3aa411ad09ad56cae35335b1aa203d613620bc5cf0222880525a24fcf4ab55595dbefe363470ba00efccd9f19c07b68495dde4213943664310e69964ceb1ad1b05f474e40e7b1f07d50f8083a5c3882f93307cc6e6fb3b1d0c3b74b1b6141a3aaf6829ef81a711346b79431c899ccdc79df372d69cf8d55d8c198103b9c375af3083e61825cccbc3813ededc950f964ec746571e1fbbc0f644b9266896755d33dbe370f49930b3ec340201066639ed98b303a3c167040a2da97aa0d6dc199532d1328459987920035365aeacf41e4427c51438e9af53400ed2bd246a13b5511406448a475dbc3160c9f937f4d4bf4b8239cdd93e6da441881fc29297fd5aad73ce5144940bbf92575e3e9906c22cfee8691a4e09983bbda84040a8d594dbfaa5da8c9670e984dc2cfb5de22e80efda42f4ae2497ab8cab243cd1d118df1d1692cc272c6c3170bf4629b981a2226e4421cacaa90108aed30d6924f1827adfc004ae780e5d9c9755609862528e4a6460ee1a72c48618ecaa826b3b60825d0cb3330214a2fe75269964f4e017f424409865e407db947b894d6342399251987290655b12132b3579be718076ac2bd2902f13786652a2b7051f96d93383e094ec9ef07c2db4306ed6e168a0269ff9415d8e9b6e3027bedda7b4738d59d46e75ae7310667f3977374a22593484ec0a13965a93feec13138ebd01c21073b2822fc8431f618a95482b7691bfbb1508cca13de62e7250a63dee508299d6ff48201b686248b8213cb9cab85942061aca1c9964eaa4b3cc8526c812ee681b553748cb20d57aa148ebda4ad3c848e6faee6dbe4229ea13a5c89cea574549b1475c6e304e3668ea28e264dcf7f22d8979e3f235f4f6299b3fb51b6572607ccf6e47bb030e1329ae033e4e42b80bfb424d8aa8a571e9ef8fdfa60d43cf0de3f372f27a86639dce2313f49996dfbb6e1427ddaffa1b442c3ab8e9968a7596b206ea59dbfed87a949a0a0f484023668c6bd7ca7823fe700686c09a2f05e49d16b91f10483aa612286468d4c9a9d9c76f546da12f6bc26e907d4faf90a1e6b5854f9dccadfbd1e54a7a1997873b6842f296fbefbd4f15322a565c9cafe987172b75a44ef7f471a290a1f3b9c437eaa0095a58a653f7e0cbdb5de3879e63d5afa1416f3aad64e22e7ae92c86be96c22b5b8a618a069140da4fe55ed1901897c6428360355965e8501dee38da9806f5b91f7dcd1ca46375c896f6d9787bfd10f3247bf501c0e78000c0e9e4269dedf29c5f6453a1e98d481d90bb7c156a3b5ac824e4c1c9ced9490224b1fbd35e8141c940b55026a8d47799d38cff8335968a66f33877e6bf46add987b5503f5c1a6cd3ebdf7a309b7b486fd30825d47e1d72febb2bf1f2a3fb4af97668545bc18863ccda5cf77fefa53851c6c843df63a89fc9d61a6cf7c29ffc69861fbb5d9abd7fe73f50d3761b70032fbbf5599f8fa79c35a1db900ebef4160075643416e14cee3407fc452145a1baa1d4733b04b4e9b5a115713403aa587a0e9a7cd9b5058ec3a79eb124f3ed8cc6ed142eb009529e105110cd919cdc45340bbe5330de99abf50e45cca3fe6f21d3d3b762e9a2c6c263bcd94cf56c478a4389633a9e18d7eec57b6c5180818fe064003aced9dc51d380fafd456ded4816737be0413436e5f3308575a1b063351c9a0ec36e76a916aa8b40bf3af3b295992eb52471689a61417025626ddca6be3f8f3a60e286111136c5e62b860d622e269d2e3952276fade2c0dee78c0e1209b890ce52c3f30ef3919871a2ac03b83585c05083ca35df86d8bf970160bd50f50f67d19fa8703e4d96411ecaf181ae19534bee8dae02c086a86e55a31d1ac3b8ad431dbca4f2ebc8af5183e0da4c1850818b3338a26b72da82626064523126ba6491421ff66e96fb65381452f247eeb2816e4af9d1bc0c2f58e71dc26a8409d64b90664d5642e794e4a024cc6e522deb245edc2f944715a6e4e8fedd8f39493a059f6ea8a2f8f63ae69a4220b6e3864650e79a8d8b7d22606d4ae7a0dc34789a6a8b82b0705cdd3ff3ba0cb8bde37071be43c892930bf7e033e4f7cd329b48cd80e673a7001fe6da6421d96fb4f64fa7dce0bee65a8acacd6d5c678edb4b63df77d5a267d998697ceb2e0855eb1f6bc9a3746e11345bd383d56e0e9e7dff684909bd4d2d40f0c32bcc659962eba10b18fab969b68c42a39cf9817ed8be1b794089920abf9878559af85bb02429597108c6309a5b1b1ea4ce84286b4d37695cd0b49103caecdf82c921f9f0404f0917a1defa9b747917209daa888344189044009f727a2fc3e2b8a42b9401b1944397bd8a897490f5323761e792762629e6b656658f8756300a450b822c9286ae7d197d08486c03e9e4b44762dc2c874507bcd7d23a4fa5b2f9388eb4ffe5b5729fb68a950f49d4ce5b5ccd967e45268841280eabf8c9aabd6e75885b73278e5ce363cf93c8f44671a55204269e0fb429f1657fb383dc00350aaa6ab2373bdbb7e8799f6ec9d83d0f4069d713a30a3dcc344b6ce8856b057a077bef0b8f5103f2b7d30fd4944fe8d553b74ad6b4c1ed5b4b30a1476147a8744f02d8a6f822b7949c464548a0c9f846958bc917db3ab8214a1fea19513813725a3c094848ec1f9e8015a60af0d795dae1276964471cecadc27da5468a7281b057c5afc88301f5fcaad406713c770c48cc811bd454114475711fab5a3e89a4377df4775a89931e45877eb306f6a090ad159d6c877a9c22deaacf8fd5d44ff86db78c89c321ebda2af2090fa23cc9a75e814749cb8f949796240b8bc81e7e08fbd8646409def2ee06b780f36238475d3cad5dffc44f638002ece44e376285ed1ae19d1680e04965bd487dd7961549652900e10c046469dcc044b45ccc9301b0a6d03bf22b4f6ae310868b02298e1cf6ee49d16191e7bfc51df980862f74c3e189b3d980b34d2c5fb15f1bb3f537406672a66717184f7305230a62399d4cf0831f8481b70519f3ff549bc163270f6de76b3f4cc8c3f7f4792e4189fab330f8fa89a0930808cf5c10bd5e8d416035d14b949ba43c68880341cd3dfc14be7a93af278f6f4f2312e57237ee8003d7c85638a58d2e87788b9d1dfcf648febcac04709d20765dc373a2fcba204443aac09ef0525190e27ec6868adf9e9665bc97564d486be07b5e64d4780bc562386ad7148706117fa80876d7333ca801e22e244dc69371b1ad18cca5caa5cce456885098dd7933c5f25ad19878609bdadb928692856f3fa188cd5101200655388fd720563f431ececb31bcba778c05d37517458e4f2c8551496063397d6d73a74bb0870191cece22dff12a8898fdd31854084facec58842876d33c950026fb9921f2dea5ae462f6aa4a43bb6ed38b0d8fed5e8f56015328d204c2786342838b82bf26950deeffcd1eebee634edee39496372b370be89c2aba323b219508eb4981c322987ca07096f58ec7a81910995f05d032df4b4c68a027d49deadaf7094eb7c5709d677df3c36814afb5ca728514c09b8b5b6e28a58f5bca7f4ca0f70fd0aaede73b6207e0921387dd33b241ddf2d70e9682f904eb56a4bca296828519775826b5030efade9a686debf5b8e48b6c0218ef4ec200444d36efb0ce39e71021c5075108cf5772ac604d7202af1742e3d6ec93ab04a76cf49682e74ff4d5f7f3e8dc63d3e31dae08f9392fa3cbc129a219f51de9cb6759cfae338f972b4fb491d5fceb08cfaaaf9c2525ac7d2c65ad16047ce46698488af56e7dd4ed385f5683e560844adb7a12a15084b86906a6f1118b2ba658e1b83c05c6ac5afe9534ec8700531320d2dd3d628f88118ac0467970462bc95b0f2e91c761d63b7f2d955923f18b3bfac7512cfc281ddf17d5971b59aef28b4ac18020eb7a98cf274ed2e715f857624a614a83b4647b1e0d3fd50a1163a3852886ba5da403afd2722cfd269256549574fb681eca374d3b717fc90ca68a216416f5906d93b8491207ef3e9aeb51507233952604e6378f780234fad94cc0c86da27f7410f2cf8529b1cda15a7f8af03aadb6e0a6b536e161665bf58998e09fd30d5319309b5961bb7f6b2331d9544759616770064b79d2255220591304c0c846eee7e7cea6ab6901812771e138030dcb1ff0567a599f096fa32c4c640dfb74f5c16312fe16c2fa0ae5d2360f8878858fdeb0e977a841b39fc5c6ff6183f4e688a434777bb82ae23f75011456887ad2eac9b9f38adc21899e01efb48950d26cf312c5092398d6d250d7370c6768d5cbe8156c96c0f4afeaa2a472976decba8638944f5340226ceef64a437dc2e61aee247a7506a138e4ee3f6e61596f1c208570d2fe56b8483bcbd90d20c466a7e40df1e2b6a1da6d341fae4a3583821ade71724802180990f69e10b1e6ee9bf6f049c983d7d14ed98c0a2fc92c4d2c74083606185d5813312e53a28a561e1c5e2fc8f70b6d7a202b0e91e69fd21dd70fe5a4c4db992a35f480774f672540e9ff1f8b054bf92b74e83e8e8e3419e06226ea453ed075a4b20a7a29ae3079a7ec8fef888feb865a7459691b492072d4e6a2faffd66423310ef9e6499f92671814bb5e6e0b3f9f349b679ddb9bb7df4430447645b61d83b88f359d489218dbc807185ca1087f716755ac3719c1d611ba50f76f8dcf0ea27bd0425b100a1ef806d14312c11e05a4a7031f2209f7c7924ef5fce6ef1f62ff3da446ca39fedc46d34dc873416a4b82048a6dad3b97a95727c18ec50c4276d5bbce094becd4551a4c1970dcda328c24c229f8bc1d7bc62c3be7130b51a21de83cffde90a6c7ae6a9ed1c705c2d5ab4889635f81e004ad12022c80b06e25f2b6fc88ea233b2730620a676831c7029a78366fd8f0b03f0c2d3d7567574f82882f0155baa860659ed9634e84667e355eb8973f881e5660cc0300427e8a490381efc3b8346944115950da5e5a204cd679e204818e8ca3d2ba3ae5234a34a96374cb6a012d5dac671523d34248533651cc8e2caf8139947d8b8ceabe40d20b6a2d9a3f88aacc45e5366fc13d71ad9f89e25db38e96528cce549916c076784cd77bce9d412751961201de3721421b0df04989db9ca3a598105d3082f273dcb5081d5a20fd48364de8bd2d8275e7785192fa919fadb3f6dca40b32c2a4434cc0425ea0962b86aeba6dcc51b8bba1365518c4feb8c012f19be02792651a1b5be301be8ca8f0e5a6bf9c703eeb8c8343ccfc5af6e3b53da4f30881cd5b413a54ef9df813e777980b25c81ac5b47828345ddfea7d1415baff91836e0b93abbf94c28150f45b56e17d81ea42fa699ddecc92d8518fc6f82a4cc5bfc31ff9536bfd676e1b6a309a4f925e7f49311f05103308c508d0eaee23b75e37d8b61bb257248155cc34525e023986d2e8c62c966b6808902dc201149e489481a632b3e9367f4c9c5d63bcd5043e25a93ee2cb79d1ad75880ffa65b04094a617ec5346741729a7c086b35043a4d4efb120a1e985122a46169d1b06bea52f2f6b6a59d2b3f028e7246692d71e3c8b53f971222d720d585a9396cdbb4550705e34e1c34d20aa944b83af0cba8357d0ca63535c6a31ea05dc650a9e793a4853c576940b26ce326fb31211670430dd5ccbc08d5ddeda9fcae06392377e3b0df85e4f377db8545f2018d479bf249c3c3d21f7cdd3cbe28992ad99dccc191bd1809ef51663f20510a26aecc3dbdfb6ae1c9d826cf73e06af9f80b06e0305f4243e2ddc9ba2c69726b8cb9c10b948a58e8725ad3f8810c36004978122fbdd52d6cb84f49bf8e522b140cdb19ff4f78efb2c26b5049a17398982835eeb8457ba301ef637ac1898cfbc309b051745779e0dc9c10d9068b18cce55176feada175036df1c52e1c28045ccf9165a53e4748b8770b7db791921207aad2f06d700024fd2745cbabaa58f1cb38ba43187e4dc10463c1c127cc6548bdcf1ef4ec76d9b16c8e54831e122b45e43b2b9bfb7437958650d75045163c98458f674df015eef87a9b303af6cac6226e0b1c8be5bd7867f6a485359e1674e9a0cb4c9c7c23495dfa6457831748ce9226e89cfcac377408ce3d394de349021b0c324ed380b3ad1a13ea45360c28ffc68a84c32780a5ddd1efa4c376d110d34df5092ac7f4054a35471ccc5b273f09fa4106cc0847a2860f6ce882bf1f4e6c55844d7fb59d71358e2dbb5aa1c5040dc6593cf0869e66c8a432f5861a0aa41267d2fab7c960b12d95c0d00dd365fd6422566e51ebd87e3a57f2fec0b56a1126564343c255e69fabe02a7374a4d81d571163485d7cc8ea83738ac31ca66f3a5155f64feccbf6ce5953eb53cdb1d0fc657a61110be1696400d93b3d523fa6902067408fe13cda8247b757828b58da025c35e365a6c6667abdc12e36a1235a15dfb5fca5f0e68a99599853b35c1401b65c7f2f6aa9ec90ad85f11438b9673609922ade746bddcd0066620508b46e18cad683843347fb4386fee3a547be6742a2d00be3ab54507d299d034064e8cc5db06c1afacd697f47f6036d8f6a1555a1f7f9f2dd5bb9b5e889634661469a4ebf73cbce951e022b10c828b698fb8bfcf77f7af1599e1ff391e179f0b0e7bd16740dda894e3c786cad454be9dde16a372b14a999223c08a6df35df10c7d3a3bfe78996f6130b577650faee2eee02644258fec24a497ee317a3242a98936c6849dd3cd324c72ce59eddf3eb103070988eb2116932f71e268593443da07686f82baa8631106aa127fcba634a9e627df4fc979cbf71fc49ce5bc2c65d29522997d004f0e8b572de41ba23fe8e1230fb1e4124313c13c7bfa40ed71caa918ba0523a72bba0bcd2cc4f5ae206f62380f26f36039a93c59925ac6804906618ea1f2998436a637d0dacd13154232c46ab98932742975eda110a898d8266c844d8a2e98f17b92163485b62d6eea7844e47c44e39364dac6767c13137566cdfd73073d72a7e727b79d01f1a821cf5bb450e708e086246525a2883fc9f735599524fb377c8b8ce2bd3ce8460474e66c44d61979583490e52e5fa35017d3c3f669b905ef7cd8862730b989e474ad905c327069f79a9b548f399fd81ddfe66b2304b2a9416d18ef92697193e438d208a33250a5279dc97df9e6b6ce7c7801d6eae4d6e61e1d28814fb6227159b875217b5d020a395f006bf84569986b2657dc43984efc93d3e4f7de209c94e88f854bf7272aaee7f078c07214cc51bc8ba8240b1abf37bbc38b7fb9ee80f1df06045bc277302c0493d088b95642d53968587af5f8303d0c113e2b884d458d9ad5ad448ecb33a4fd9ed7bc5902ac270a85c85019a3a127790e28fb3e1a7f1ffd77b843e8055f8e546a0b926bcea14698e4f8defbb7c78d5145aa6e1e3f05982a47e3f9303aa047c4fef844ef3b0f744e35007aba6472f5b853a2495dac485068c6622637f0ea691aae3e2e863480dc4e518a3b29faf9dad403b41c0af2197431894e67d8be8d84d375fc1040a502528835a67efda9fb81dd54bca2589a5c8cfc7cdf1dd56c87ba8b9132f25c3537e3d10ae4084015d1bdc55687375c94959a123ff9845ddb5946177f13282798cbaad61c90a6ea70acd8b18eedc67396d1deb090933fdb47870c5e216db4a56ebafb2c5157bcb0f973c7d308dcc402cc7c70aa2c064ded70bef148109426e8e0a598df5591ab0bc83abfc3ab36a19d65f30987558fd2539653c58cd071759d058b008d5959ed95533d37c712df74a547d98eb1d8e6f9dd4a808974dce22b0083038cc09b5b1c49b7491febb38e0d645691cedc8213e7c8c0e6aeb06b87f038a5647cb4212b4783fd274d78b18d0512364dffc40c25bba86051e88065b60e796d5ce00cfd93824d653ba28ea06a374c6775016adec0ed10f3afb32729e808320abb7ef4d1dcf703282e91f08d7b21abdbbf61a891a605312d61f4a4b7e18bf88ab0b275fa7fffa512f8106c4ae124dc8a4424207988f6d93908d4ce5530eef3dba28ae31afad159aaeabb27e07b7e6de620958221b74c490cf157f98a241fd589b8661da41fd7c63e0d4d8d39d0c7618c46f8e13436ae47807eba9ed171c99529a8fd71d8d5a3e1b66389ade12b7b67b3dd021308874d19b6116578603a357108e07c52f2511dff34876969fbd0cea6d7d2261f4a4695df881a237005fda00078175b6570515bc6206939f6e62da0f938452c4dd61382ef79d8bbc5244785eb57a0664f09ae1b49f231a76a8cd15a435cf4e74804a843e054d0df5bfe27757d92ce39593618ba29cce1d550567bed5fd63360a7151df9b01708cd708ca81cc61a4493f2965caaf5459f46fc2b7f56c3b039fb2647d72c72345a7d0db54445a149272b01fadf5b915ba6546c7f55543a26ce09fa9793e4bec1689e974ba9b69c414fcbe926e49324957b01635fdf0987599d0518cc1679602abb12795d239a84eac8bbfef9b1828343161b24fb5767bf4f09a6bb996fbf66d546d948b5745f1ee251828548e7e010e3eeea9524bf5891bfca7d3d692ab17781e68de0fe5c79871e3a7c2b5c417a97dde88e9b2313b4374efea7fda0223ee728ed76bdb10a66594d0c841414a32650af216c93f4c17939f826e4fd30d2c61de89eb47a62d7668b93361632c67c9f314e859b017d1f46449ca175c24b2449f78ca3e9d9c5fbbc63c15b18206dcd20fa404b9111d1cb17b39fddf682739323ba0407f8838ccbe3a321f2b5f5c9ad055d48082596d3f8be17fc1576f3492a987108512a2736272481c79ec824f52cf6b7d49da3c04c0f562b977e26da393c4ab5d8eb71a786f033b82bef070adc078c954499fdf8ed7d2b0e35ad8709644a0b633ad53d92c43f083c59b4bef423fc03929f2522dec5674c30f3703b540b6371d3638bc4c9c9ad24acf3f798f8363763e88f80f529cbc37828ac627aaa25f13f33d80811e2d910bcba5addacebbbe7b0a1e0fbe651e15247a2be9e6be5c7f959ad10e444e4437a33cdbd2ac6216dcfca2b2c7857717cd3254695b3a63793a337c6bb47a6419186109ca549f9a3e721759fcf1a53d60dd584a52c8331b404cd55a64f7d30e73da13c57a1357b0a4c8528359b3ff273941cc0bee69533f5f54e907e8b5d8544c59a9d9554f8f0605b1348f7ac4ee7bfd9276a9aa7371a14087d5321d6f7506c88c7063f0af2a41d0ceff4bb63342f1fab62855caed75f3a3b059c0049622d869d1ea0597a261caa7eb0903be696017349cca8b565d366337503b145f183c9a0755bcdc31afe54fc46171fbf2d9a3cb7c0f21a5b8e76afd4e3249b3857ca3b559675ef2ab1e474f76b902601e673bf0176b7b291fc3e4ff6132090e8d2134eb2ba65bf45dd2bb2eec046644cfd027ad84d96bea8e75073d0fffb6393bd061b155d9f2433917ce3ed3157630653bf3d7107ead94a4b42c351ef62f6b508b2c2bc13e3370ea8a3b759b424d59d1eab7d928ca0ce468dbcdffd4351f34b5201aa267a29ef306a26d43ce7e47d895c8895c342d4f63bb6849d8c048dfaa33fd911ea62cb37529407967957f3f4ef611afc2cf2958cdb80b7a2cb05c7ff9079b985beeb4d4a5fe136a37736dede702cec8c77e0eadc3324ef5b3110ac15de9735edda6b5fe7c5200b79248a19bdf6f61564a6d00107455158d3a7c2c657fac55a560de18123e8eda3b46803416a265c92b6e04e92b2ee31a2cc0669b9650a13cc9be7da91d494aba3784af409077559ff1448703c7ccaaca34e80d8a455419378043d0377b645b7bf66e26a9e11ea1981c427b194f866c2eefe0cd9f6008b58a85ef34f4b0bf8bc8767c6681ac74adbf1b2b9b7acec8bc2673c027ca6d8c68d1772b9f5335ad3ae6c2e92b7b063be335e64674edafdfdffeabeed73938256d4487f06c829335901de5bdbba922a6ad06568d6257b0c96d24d2ebd76057ae63819689c31cf99c770ce39f624bdd260489e13e4c2745ddf02259d0d7dfe6d8dc06a9e865a89913238c399fff7e667e8fb652d76bc6aa575f85761f0ae2bd2345f12a255e930a612f82092c7de5b75dd75c6c287eb53899a5db1e5eadf9bd5972affcc734f429597197c6128221cb0bbfc943035878cf615870358718c2c3f8b59bcc439881c398be1e4ef724023be982383e5be2239d5a7801f99d665fd02ac3c326868d78301b82677ce7ec419fcdf9e9dee0bc8a2ad23ce02d9a766c0453e4175681227abca34a523d3ffaeacf25e926abbf2e4bd673c90fdbe76aa1f39946d69869e523b8fe6693e04b021b0beb802ae832d1f293d6a38e7e359ade30764c26db61c12214bb7bc648484ded7ca7e7e282ffe707a4294ba1087c791ef93d596977b70d84c99111c107e3afdfd47c82971c2e9ad8149986d61971f64b1673d624660f996932733dc5191dab0ea3adb1e9915c5f8914c050cca02e0a1e1000a870a36e745ba86e1fb3245b9c12fe416106668195504a27e7986c2862ac716c5f9c956c62a4628e571e8565d5dce4e7090bc2c0f2394f63bb0a82555f368695a2cb53a783859bd24bee4e0068f5d8e6ce6379b571f5562b41de80a56636440934afe65f5da2966d6699e4e8a87affc34cd0be6c8642fac70612a7b837b2a6d6e1c886c7c1bd598c110803c19df08138b9c193846718ec825e8cde0a1ef97d540388d0c9ab37bba9e0b8144e2d11855c3ec6bc91c5eff003a55701fe362fb179e3f4dd3a3792b1d070ee132ccf825fab23b87fbf113f89cc2cbb01bc8ba41415a8b6b0ab4e922dc1a0ff72af173c8904330d989b9e6613ea400bcb7976aeb2c334285040ca5d8729dd8dcde6010265738f664514188fe9748f4be6bd51f9beb48a733db9f86b138ee2dea5da8cd3b607c7a4d91b1aec660324acf9ac9fa650dd6db64beeb80bde660d4c99d5d9c2553307a15d35a31db68a1cb3e7f0ea8f4ad30b6784903ae5f475a22230006d3e0e352dc45941fb74e25159dcfd567b66d932812ced7bd67adcb64f8b55e97c660aae52329becd3468f1c52f0ed3cfba8f1d203f715dfbb7bea0dd02395efeea67f6465f8b5d688dc3c05b07896f270997a061b0740fac9e25454f8516799054fc51b90a584b464934ceb0d37507be6394f606d1ba0e16b10826a3fa043de8a3ec376c055977abc3e68f0c66726481494a18c440132d1bff480f965c0e83fd1341a0594b66278827a335b1d37baabae233536dd720e559ae256247d892551fcbb43856fa0832125295d0267b32e0427ebfa1035a46f2b762100a993859b2776fbcb300e0d545fa3b24c851374d0253187af0f6c4d0c6a743526316d465a3c0ad8f7f942f89674a6deefb38533a11bb65b1bb825383e71f954b41b7bbe65df5b921dd709947b7ae8f65df47f1bed71757b9872c8a8b4819ba6cc8810cd9a436d992b29a8d01c6c2be307af70ec7e87db2af2483c59ecabe3b86857aafb8b299e517f727c1ea157e8c314da69b655520563d353c6942bde4dd9af7a7620073741cccb8c37506d828ce434805bb3c7c96c4b01a64adf5be30fad7e3fcb2f9480939c96be74039a9b609bbfa063bb9033ad7e9b3bc9a20b98fdc69dfbb291c8be916ad8bc5fbeca82a21f6538998a239b2e0386a0e2dab8fad8b7c4d7f876828df4213c510e5901e6fd3bac27c2c48b88261698d30e607ee2373a6113fed941ae82ed876568679605fdf09515e809a6a8555a33973cc761e250d89c7b8c74a29318f7694ca5a993b354f649ec23df9b01581ddecffa4999fde575428837416d69695998c05c523d429526adfd29748617347e73822965d2dbe23c376fa7941cbcb33f354d1c3f82622ef0f66af5b354ca847e907502fa82628e5742ddd45f59754ad2775c344f707d4efca359d40e5472e072ade9ad88a1635cb59dcc8023ead2d3f2f930a0e380efa8af99a2a63ca323b11cf2752c3d2263a46d7bedab91c962450ff2544f7393137ab2f2c7742aae34485176c5b902e983140ae8ef97e5611bb911547f0fd57416aa48457b6a34dae4142fc59540dc507a2193f3d57c1c0b48680142e530c404de58377e1e3ef2496463219162abebb4c1b80c231920c5cebb332e38f22887d7d9b7aa761ac62edbd32cbf854fd390aacca33782e7db23ada4d2b7756a2a2d32b06d491ef79eb9718cd9647918afcb7f5b2f3c1269d147e38220ec89e8feb24a8fb002a14e2c012f99620990127fe17b7e9f74d997394336aff87462a60a6ade0b865ddef23d7a0023bc8d1a31f3ce5cd0f084fae28def65cb0eaf79a0ffaf35a50c36d2c4ca441c9cea9fa80eb6f202ed4a0cf21f2910e9391ac4dbb9213a474904b8be6eb53209339e2ed54e45d817595c935cc5e99dccbcacbd720e2b888a600b1aad52579382ade515c39e4992741901f8a88f1b8c2bfec0167fb5b610f7926bbeca45a5516fc3fbb15988bff3c04a2c2907d3a10ad05e9f0fc2ce1bf149b2b19d3180a3828fd27c82fe613b21eae2c86a09e2639120c8503959c9585445f76c7fc7a1e389e729e477db81efde9cf65c01bf8130e2a5d3f715b82981a4909e30c4250614909f669db5e1d04d224696dee047a205dc37e0334811d995837bbffe222de07f22d7ed137b96b3678642652cd36f94e9d73271d420ddf5a5f8146f6dcc7974ea9c049a6e2c1a61b4ce50af8d85d1fea228fb37878cc99d225049c7ad8122c5ee38bd9a4bc957c869d875f3cb2692ba28fb221a282ed44666081ec492e93c4f2916e41d2b01cefcbce53f8d6e51db8e7c90a5d6b6f4914a9786ace83aa6a8e17ccb3d131fa4e0ca99cf6a254c04994f6acea1d33d77b23c00d54ede909d09be91507242a57af82fd607db09d618a8f748e97e56c19d68e452dbc8e6b675d31bfcac882764d8d2488573bd7862cd7f2805a1232c2df6d9835fe4eedc5ab6bf1453d205d52bc16c6a66975beeb0e36ad31c14e2529748227f7d713e16b8250357aa2bc260734bcb5d43c77b7d8baff412b78633e50166443a68aa355dde5a99d3b867b21c52577a5e3beb168b24fc0829f3878563eb4f4cb99f27f2390f65895a464f140d520cafdc7dd265b4dcff74ea70d02bf5e54c0c7e199e03813b8fe2d4cd62cbfcc78cf397b53fc7b4a369ad5ad7db7f9f6acae6a37d6a8482c4f08cce4867ba39999a3e2a16932ab7cc51817ae00653f3e437c8e4a38086d9ccab82a93a2d1101acdad92b49fac1fd0a9c932f4598f0862a2ffbf2a95fe19b29c734614b09731138eaadae70bee11870217dcafffae13bc0d7ca29f79230c9c06b7da8c1ff0cd962467a274dd99e368696903a54c31df703cfe4763d2be1c7138b7b6914cacc989fb73c26759956d8f268ea3c7b8ea33b14a9b633662348124e334a21fca66a66cd3864e431728ae7e6eb80dda8024be737ad67a6056bc9c3e339f33a1a72b1dc152ce6489197507457d035726b74b9f6dc0f7cf1cbba28cf57f2ca9317bb76d847b3bcb3596ddab6c97ba82f945b3cb61608340b350ac9d477631302657f719d4add81187c761a4479a84a0af85b90104e64c42e4a145ae82152b21e9ebdbfe8d93b163abd8514d17e2c0e270a7082198eeb706ba10145ba5dbd3728647b811e391390ea9cb172741ab81449a2fba450d80852fd4810bde2f539e7eda3f2dad5d91420aab0bee81906c9baa50d4a5fc53635e22fa554520ac4080a02bf20c4f412d88ef66c58b3f4b97792f29a17481623f8869353a93948b2ae6ad73f8d222f10a5a74c0d85475dc82fa28c336009fb6c7616f9e03c2418208a72fa5e1cc6613be0587ca8c427304bd96511cd082079f1e1e4ed1aa1c15a7a07125520fac2e08f0b9cbe0a898fcc19530046904b55131bd0aa1c35af344ecffdd5a1ca3321c532fb541bdf54172537d3f46eabb70bc4727c0a473d25542079469b615fe67e577e14f4cad0db6b339f49c24f9308e0c0bf1cb382c814dfac7aec7b071de22db94bcd3a800137f5052454808801083a84a977d58ec3d55af72d7dec407437f38a88c6a06e66d715e6166f89682b7cacb9933b4f2c82f4c7d8c3e7efd19013fce422ed033d289484f0fa03ada44cad33cdb1e0e05e86ce068fda9df9c82912f7360b7514990eced32f6ff59cd7bcd4e280af6fd7a3a6368f72a80ed71bf44e5e2b32460f9f7a91af756b2d7a6026582e8d20169b71f3087fc5b0988a69e394ad35e4dd60cae247cf80419fe1b318a55bf5038ab1496c959771ddc2e8aa2a448055965fc03e3e6f5b2ddffa2ffeaada06b5bbe5dda7df2f8fed3c21dfe6aa1bac73843276d51f8b358f724a191165e14f550fb6a1ce166110d58181a4bb374de5dc03c7baba5e4aa5fbbdd022c57337fd8aebd299a2f251efa54ca061e7c5d82d46fbb22a164924530974fd3701b555b0813bfd5ba80e0c16152d1548696f3b255a688128cb53955b60be915ac36feb0f1a1b08d6b6fb363b18029d71cb05216408e0073c93852b659b49dc7bf6ccfa7fea6b865f78e3d5c2e93b46aad6bbc1e8d7d526426ec3648b09a620d38d64634477a08822ae322f70fd27d6d2ba03b3ac3df789ef5ce6465bc5f4ca87a9687f7bf9478d08e5db94713aecab62bc6b27f821c992a5c445395280da9ef2c7d8756a21973b3fbd79560a412a9a350e0e740da92780858a3f29f8e1b9743e6d8b436f835417cd31c4b0e5c6289334012feb4bc8ae90925b158ce02abadffad789115dcdd1dcd6855cc7bd1c66905041e4b348046ae6699c7d19800c68b810314279be36d17a77c8d7e8feb549cac61df7d916088a59de79cb846132b01e80bbabf0c0b101c4eb840c78139a94b23692aeb484014a42e8f7a54004ecd5501f45a7d254330126b32edf0eaa4257039fb209c095f9f59386276cde350467cad6118f1779120f6db5b15f5ce3c5f16fdf74e35759738e2de2c602b0a5f863ac3b0a20107d4ba986e4927d145b418e28626b6a66d2fce90dbb522fc10c7f09795b90b73548f3224e0394d99cdf892ba15df0d9e511a6f82f6f86d505f5915528c28b7c9b570c35cf6aee7bd99393728d9caa64cde5ac6791b500e735a09b9e4b5cd683878a8178ca58027e57c762aaaed129a6ce46beb590fc4d377da4b2a4039eafa0425bb7923fe66b578d702a8e73943c9154bc6cfa774fee734a4181dd519dd9755e1cb08e7442f11367135b524342054c9b285d5a0639e338e42750a36fdb2a419bd93fdb69c849603eb01be1a39d9dc87a0bdbbd9427410d5b25699a38b00329f34f5b46815ee7b08d70c6fd0cd41c20a5582b4366735b6154f7a70b1e34458e206dd560e52994dc2f2c34e654ebabee6069692419cad03668af6f09d3d32e9d9a4d0faea0262f999402a666bfb0742078e1d1be8e44a98537df89ab6d7f63b972e577f4a8ae143abc6cc3bdee3161a6c62345ec30b9afb9a6c983d4d7bf9a3988bc62e6c9bf4fa559f8c9c2ed8298287b6bf4c8716ff02f89e4723d6c2075ef0cc38d8e3d054464e8097c35267c3c54b020f81b9fdc25e4f5c0552255a210e835696b1488fe72fc202e8410f2f7ea9e37040b8cc18dbbdfd856427b9c5c758959571818509402160c56b8b11b821b728450e51d24eb7135d76e06332622f389475d3610e6a715ed3c1d3b278855cfb2ff613da9fc9090b2115d702b89bf9a7deeb63899f3f6b2f84ead1b48fffef15e0dca6e029f7cc79798d7da1c6cac8a10b4bfa07f17390af2eb7c5d3b6bb8fca49b8dc01861d624bfb083616ff2343c240066646d5c8109c1da67af45f3385d7de0f0700b987dddf1f01af9348329144af56354d990446dc15e779d66f2a59a51710404594f02eb277bd6ce5d6fdfe760423d108aeb44b0e28d8597eb101b659d2f7842b8a400cdc103c8164005869c8a60e5650b061adf67c3ac4459913d11dea18910083d75d7d9de20bf8b22810a00bcf4a94f244159a319bcb0163ab1655b3fcbff5b213077e80ce210c69a28b3e2091689e5c4da1866738109fdbd8a5d320988e746fe3bf125c1e49a5671245b27df5ffe01da787f047b096acb5d130303b0fde29eb8bb0265846ac33804fd2c299caeef3efb804307d3206121fc258846beb2e3673ae081aaaaf95a8dcc36e8c27e6e6d03cbb3b77dd5ee5b4d80d74ce9d758a72c685927000ea372f92e48b78985cf7d350dac097bb432d28631dda20444df297cfbd87605e4d9cb13f46aee1f974406dc027cc2fe3c165e15a1a3b6471c79d46325b6cc8f18f2500006431fbf3942d688d65fcc4c1cb25a164fa3320c8af7f1cb11ef35edb858a75976cdc4e82c7405f81dda3781ff484c52020e1fc89706bd3dcf9deffa33f8aa7ae676fd98b879a8b755aaaf70d17ce0d61827f22dfc74df8e3c9d64f1755104b247fca22a184797ec08ac44360d184daa36584cf5445b384d00ef2fad49335152f765a3bc426bc5e4d2e712ba90456abfaae9b7e3de2f9b56e11bda42f66bad5d5ed874e5340438ff3c191113685d8646845146405853130dc3836781d6f71696ba3054bde735e86ac5e8ef16f3f9b95b8f55f00566b4432c33090f3a014287ec4851293c0c6099a54e24f98cdd37575a6e87736db799ac19e7cee813ff58be2cf9b5d55b7432802c594c74d5063e34a74a757084f874eb4be7695d3218d366bccb3259d37154cbe61afec923520b5790415b566763ea5c8a4527b64d6f8ff5a52c7bca607dd1078ddc303d84a98c3ab3df6ae0d8acffd01aa275511bae745a7eed722eaffc80225d7cd98765b23ffca4a6125d2f61c72c1bdd7e27aea91c2fb6569a28d8e84061fcea4b63c57d539fe378ceda2e751209312acb803752b5b5454169b5e9b1a443952b821536bf54a8442d8120956dbdec1b4b31e7ba28f6616186f013c844ce39c78029b0f38a831c6d33dba634c1334c945ba715de8d6a9f07afec3278bb6f0f218a7edaeb69c3ecd3defaeb052ffa0159881a8435477cc4eeae07d5173b1e64679342d256f0be89e15371a792c98a2e0da0d31f476bb9fbbd46a468ccf26c1147b3071d9d7ff820e5b686296ec04662038b5b9465b473ff1a08d34fd1862af4211454ca36e88e8605c80aedb9a4ab2db642b2416db2bb5105394ad6aebb754c09019b47634b090fcaaa6f022766ca45a4765074d758c9989824a29b2e011b5393e763c06df68a5f3503499650cf70ceacaa3a914445130a1198c9966169bb8eb38ba30297c3cc7eecf95d100c81d1b00ebe41b1d6e2079048a0a3dd5f77eb56f26075d8f20247d2413eb6af7a02b13b4e46908312f65632d0ec5525a12c56344b22c84d0d1fa525abea85020fbfd666c81c55e5f5e340c60f53bcd8e903ef5010baab76efe2b55db625498badc67aa79619c388862c01a5f226e26e00f3206fe00aaeb852a5e190417381ab06b760143bc4912e7bae0698b6f174f3bd249760dd1a368164611b20dc260de6a0eca0aa05ba04db8f101b15691d9cd67a1ef107289e1666e85eb7132abaffb9b3d1eeca308073d69d0a41565c3cca57bc2d47df4ab98a92d21732f11cd5b4f36d73de821ba17a8ddc4ec1da866c79eefffb001e9f8f9b50b9812cd412e3d12530db8f56ff155bd2fbe3bc6f5f4b0791216463054ea094858587ba47f0873a11fa8d5be1beb2c6d7becad29067cd7b82f20b7fc95735adcf21747544b41f512c1b5182c55567834a0fa711357950ec1305a5a5868b9dcd22909da9898bbb96d08dcf0cf128deaa9aff9ce8f88207f2c94ad5db9053f348a8f9a91b3ea5daddb76b49caaa63322b1b33479cd8bb7967df5c9fde9f59599bcbacb27a065fa091d307cc0428af8661cfa9e96f38e56edcd0e2819652a25458e9998021dc402e2dec3fed77c0325e43e4f96a38f4d679867e74cd8824a96212b4e2d32dfeaa3bd350585af486360ec3a3bbaa2dbbc3957e069b5b50c3f0c8124e2013ed4561a551f7a2ef9b1981d46d4b41f75086e6c462add9515ab39156e52b34319ca48dc0c5ccbf925cf642e38cb634bc737861165d44465c111093a05241338588cfcaf7dc700f7f3a20d4dc62937c0f6cfb737375560082f3588a52dfd8a9fe6397fcc7071aea1783489288ffd37b29c0cae9816f9168c53a4926cd6b8ee03dcea8c3a185fbeb4c3f657168fbc22a7cf000a3935a6c191e6f891f475df1e1883761ac7b178f2f80db624f41af9d3543bbe34e4f83fe640c7560f3198122d268f87ad0cf978ab0545172a91f5320a0260923c7946cf842930687bf2fbdc67de914bdbf9ee263a446b1ddfb3546740c0a8bc11db51bd02cf11dad8dca6c3903b396e229f8cca96adfe0e5f5e3807c162a3de645b222b7f3f1818219c2c0e8ecd84bb87a702b45c0de870a98a1a1e06001edab18dbb32bbf2c7f0a41f7fabf713fd7c7f76a94ccf815004344836f599b7a43bd10a350d1d4a5aabe4dcb9085ab04ce4954ed534f4f10384bbabd57c60d626710a96209560d98565bf869347ff2925a85fab2887851225f65207d946032595187c3a64b427011afabf6573393e080b6381e27ae4e64f5726f425c54d23247d3bb0cdc9efe1a39f11e1cd96e3eaa056f47d1d502fe84647ccdf35ce241ea6553f9c08f0ecebbcc89e3e78dd4a41d0953aa075d9bc825e2df9dd2dc2ca35a28adc1d9228b794ecc075ba44661c1e21d5da8d7919ecb40a4440e683d1512dbd720024a1e277b6a29a31e8202cb673b5b191011e2967be1303849eebfb089defc6ecea2bb1d0a3df4693cb046f2939824380a17ca2b5e3896505c2ad298a0ab2c1cb1aa971e3be9317382b7a89a6bbd7565e9952515a44d95f71ee40fa4bb41b8f21d0e28510bcfa79d66494de03be2d7070a653f52f33ba35d3657038128955494f9d02f3907cbc6d22a192fff379463ae10091802f8e2cc0aa2d63e4b85498c69bafc2c4fccf992e3d7e224c89e9a850712761f80c5bb097f03650c3f4528eb9cad69d43819e546a0f1202b28dd12653136a2e90a1914d208364991fed12c9ee1050eac19dfe0e5436efe5560b12cf096d294f2a89723b96d4115f7b0a6492379781bcbc572b224020b229b46a2d2712d4c67145ba2029646079bc46cd8364a71f552903b4517324748bbb20871b32044a3d7d2024b216937b38d66cada94ff3900c79baec48ec96356e9a46df6ab087b467c076b0eaac963d83ec102ee54ef1d04961eccfea6d44a7d73f0bfedac0b065e4f46561474154ce52cc68e432e9f5c0086cb448217e1a5a43dd2bfff4641c331b8105db773cf6c5a80156bf6515f60765370121f0a82a6e23878523488f0856c9dd670553dfccbd41c318ddfe36b2865036cd7716769f5b2c850b1fed78554cf8f2d07baf34fa708cf437b927d6ff4554355567960b4db9e699dddd5eb6379ecab574031edb044df3d5caf10d23d555f606f4966d7b4223a482611bd09374cec62942422469109c61e6f20f3dce038f511c171ab969c5b6b82c31790af16af715e1d74ec66f7ff4b3262258f3b6050573a9f38d642315c4882e7e61419c7fcfeebcf86707d2da09545f985b3b6c1d534cc76a42ad245406034e2a95d6e1c0ae58616b32f4a71de67da2988e5c539a1fadbd1523e73ac3baa765e50a78a050cfd790e664bbab28b3e64eefc1be5ffc142c2b4085038e171ef263e7a2d1b40bc0e080571f286889f96e68a70a7d09d349bb7bcaeae145b2af53708d8333fd66ea7e224731d94c7acbf63b0374275304d65c2b92309fefdf497da140900ddddfb833d2590677eda781318ed28cc865ffc7afc99c729398d7fee2a55b027dbaab26ce43728a2ae07fcb02aa38dfc83805b4e8c4922f5842a0b41da77e6c74ea722d7162b4e2146b68b1385a7969c53489d3701e2c55b91b96ff72d83138477579661006ff4cffcdb175bac970c04a9720c0c404c36318963f92588e8a0a35b3e507276b27a88a9631fcceedcae6481beaa8104738b0ea8282114563138c1f3184dc0f1b6106777114ca0d87bae1e48b4e71cdfc9e8d5e61a93b13b76baa174dba2791534da2156a6a4a80323cf455db1b7f374009610fecb9e2d7f05d803c52f44ea39ece17045c539d6421c0a728cf320767cbe8210eaa8749cac90af17a207506a928ee8f09a924def03f63bc25da39a5ca49d95c70c7d1c6a8237a6f0eada9ac15ee02f8d3e0ecb5c169f6acd92df143aeb802f52647910d8649c628a363d36548b3ae3958d0a5fe6fbe8398f04ade14bd02896294ccc41747811283499f8666019cef52a3300d998d351190c50605fcbbcf6ad10ea80515d7ffb9afb020ac40550aff25f892fdfc7ff297b6ab6702e3f9771510892e276ffe5a62cbf80be51bd93822de3f979c830bcb9161cc247d33e10653e0964260cc090b852384af6b6d9279ac3f39d7dd568711e55686d7ac5f869a09435de4a3d6563d7e2d9fb01adcd67b47325caca02674e3017e498d88719f4734b259aed04945ba04d8eb34089a7368a38630936b563053020833e6768cb372989b2565f77c7200c43fc0ee99ef8b71ef868e95752d87c9293dae4a90caf24edd1ab1b8d5d4b53d6c8820aa8d80b2e48edeb3815ba1069bc34ca3337c89cdf53bb8ce6293cfdf1c91dff089479f163cf707b50fc883b2531053ea418a26ddc1bf64dd6baa241a52549b6e65cd270e6a314b3f1c7b8eed57d74ead2026332a2747039de1fda4802745db294609c01aeb5abadcae05895ef96c5313f615bb6f8eaa50d8d3f6083d67aad038590dd6bdb8cf3b49628fb206996bb821de2dd8fb19a9485952b65cea67ae89ac7d3b0a147dcb9b21263a4c7cde704dc9b161fa107b45c54e8f06cb7a31eb6163302f96d92e489797507642d64864d8bb6060791c3ffe0b75b4c5e0d984963165220aa7022608da15797e27cfeec64c47f1acc45376ffb9e5a60341f1e0d21355ab4fba7d0fc83ef238ed9775a187a155f74fff416544ee64cf60e80ddbb7789c99a2ef669da115b6fb84cf8618c7b45f1f5f7932793318f2632f1111706f901926e4c6a43fdc492b2b1ed68b1e608d4feec014280f6e8cc847d09d8921d6dc9c4b3c9b6d668b74a55a06c3444d5934bb7f032d227009f213da249d4ac8b1f4cc45857b874c0231b3511d1d3c69482db31e2df2f3d52d066642b06a0c2e47ab4852a72fb4b8b46b66a3c672ee4f905a0e55a85e24307068555c05482ea0e10aea8756153d00652114393fd062d0d26ad7ac6c8b1202fbfbd0a9bb22be899ec8d117b49e61ba7812df2f34d04c61818bc6cb1e61449ed4f1f13e3b7165b82b0c66adbf2550999ca70121d95074ab6af5a5641129d7518dcf2528e961c04673bd0c5d4ba82f2976ef5c292692115152e5a1913e0918521d96242d67c77435bd13f7e80134e055a6ccd14ce7af6de02b9151c02dfeaaa3a3e9bd6ad697924b6e30b428e42f0da88fec2b97b6321ef1e1e5692e083cf74c14decaa76a7946b8dfc748c858477e49ae1b55e5663c90e162b69daf1b2330b0d746f65b2f7c9d0dafccfa124678f78b1e8a103852d622d359510bc3000ecdd09f8c48a5cdebe123cf0d85ab2adb08c35a51c20f31de250c3b69ab6eb0729172cd93c74df1039b07f0883d64c53080b504e5bae44c03eabce43a5e5eeb1f0f0b377c766dd0910b0e6b6b97128138017bcb6521b42ba8cec1afb5df3e3ab14cd986f18cc4f6a24a0b6815900e4f2e40a595cad770f83d0e600fdffa96b066107902d70adbb58fc75289d799c5edcac51ce697995e4e8784da554bcdb45f3bd92a3700f3fb84aeab177546041ad88d907a7df4579ba0457cfccb841bdfb747028a851d5951ba3e2a7f546947a773e3b2d16d7dc42afdb52daa3a730eb07ae26fe5e8bc5b0742c2d4c1c375a65842ebe54e5baf04febddd30615b47620a657963399a7a5c9cb55da35ed498ac7156a750c9003fe5361b03de049c3a251ee436a4c10504d7cad45386b8d2964268cc3fe3474e2c9407b2e09d2e1120c2a0a3f7a13b9fe9fdd612bd111e95371b77b5a613b91cda38d453ba02ccbf5678ecf059d44ada2767759c76bace45138ea1ddb7cb4dcf4d4b6397de6a98ef79f6542b9b5ee10a4a2e6f1cdb577cb8368426da846e541f52be5c2efe89b3a0764c0f4dfa4f7329852e8b204e4d306965fe582bd93674db248fbc65e1fb654a5a1c8c9ee32e1e58eb261742e6b4d44be1cd6d2f6503e7e97576c21adebc04cf86a5f1104e54fcd26ff0521694be5c5c0ef63311876ca34b29673c9f9cf4a47b6eff28a0caa5ca8ab0d00957a241f441ae8c5ce5f577f07433d65325d4452506bee46306898142ddd9624c7648591d087752e9fdcad53accb31948dc1ef72297bebfa6eed50f90cc624c8dff94a22a1f356aa593218ff71034130f0236b2cad7041fd7cfaf750c5d0886f598185397bd22fceec01f3075ed08ab64be1f80c91c7d7d6d299c9fd0bec9f5007d5b9c150cbb2d586c91b31cbc3d942ae7bf09889a03264884fd8eeb62a0c40466c6cd1031a1bfefba3a405c0ef0bb29af78f08dd792876aad07420e130512bae4c929ed7f66a5234aa0d73719e362da9375608938694126b5a3aecaf9d48539a90021bf0563c4309782ec6633f0363af0fd36425030bf18827d1d7d4e20697ebb7a59de58e2f605d79184251df3c6b7d0be66c92f26eb9b6f10d2ca6590dd19be7b0b564c6bd6a8d17049678dea4c704503867dfec5cb2bf571f158728f89fb24dea892f1b03510bde45382323eddf0b1de0f99562ace13107d21d6ba93e9e1783a4ebbef3f922471a6a264316674b84a609d57a6b4d607f9e55c815421aa56445df61b438f7995414843c0c74c53cd1cc5c7e57793f9d445655f7658ef28b73ad4a106bd40f6c5396552d9055ef0ef44c32d8821ee5b9c9ed458bc64a4e83b915f4f777319cb4512da23904d0d37c1c1a0f58a12044169ccced7904913bee8c133293fe8b67645a6aa5d8ea912f4733cd7601178b4542448cf4f1b2006b63ed278a105d0988f61046f10ee4b556a9c46b4bf6e3a3801c1ba07124cecd6704c667e19873ba7025835b222ab7315103a7295dabf72492adb1dfffa500dcc859c4da9b3520824759f615e52321ef0c15dbe41edc3e6fd829ee6f7e87707ce3ca2dde8ad17259e05a8172a41db2e54e7593d231b46ea2942242e3196eb2a9570242f6f4199869813c93e84924af75b5a8120d817aa646a884b4587c66c86bc9b9b16c442f85a375e3b282dc33094913af72d0ec4ef7ad748ae2f54cd94109d3c4a9259999b895a69c7b5b8ad4a01b5dc85f860eb7f2264d650f3ce941a4f35385b7cbef1456f7260913861356275b292bce94e5d427e4876e983f7bc2f6a309f13e7597518e88ca8afb28c9740d76d6b8e2f378ad229a681a59d706814a8ddecc49e8deddca1ef57dc01258b7636e975294794132774d07a3e265bf9588c12be03da3af4cacb954756d97c05571c409d1558bcbd3f4da975636fc3c863f1a79ff1925e54b5111908c337527ae3165a858c3a394ca3c9a21604b31a65909cbe888dca6e8b09ef7f13ece8382b463270c4998988e0098326be8bd9c35f59023a86bc602597f2037344410fb14aa5aef027dde35d7febc5e3dd6d73aff3368e35632d6a85daa35887574cbd5df594c8e24da531367f3a5c221285236b8031dfd34e61cf6f014c0c0c22e6e11c296a4ce4733c6356477b3afb3d59802af6efa06bb65c7f03f6837608fdb9be8dbf91990ee80140f14b6b7a1efa382017f8da27cf5e3a78a77e93a54aea34c5267d00bc6a4e421e4fb131963e4506b1561d6fdf6eef46b1162abf983a46587117a710c5ae689572b4edace5d0dba9ad67483d8a8dcfe2cf5833c8f4ed98688d0b8c579c39a7b97040befcf4d5d7be2462b945f9db5c08a37cff18990b5c87671a505c719a1efdbc0f16e176771b1a8048d3607c214a272451d6900efd3809e196f2e881fe234f9421db7e30b2345ae4f2f401c5240e14618f0309c1b078699fa0e720193f37bfe0dd6c371e11e0812c4f57b437c416300d6cc938c790d765bbd4202340e3d356c96df895e03f868d5a937930209d615c04737768bc06f9df2c2d16e21f708dcfdc57192f9b2a4136d830d66eaa996aa2a89f60efe3179d1641fa2503b33c29a18f2e646a4b5a6ef33371e9d594df9b11a012f97bb95348ed74ce1affe50353fd2a4feec27f7750fe43c66f2e319ac6e09b165adfd785130e3d33ea3c1263b0358205797b8aeaf4b7398e6b9608c0e52b6775b49f823334fb6d435ab7b5df7dff0fcc67b7296c54d4b00e5ae95e76f1361196e03a568943d9b28dae4f020880b826366bd43e1d8ab61bc2984bb96f4c502fa23add421b7f2ec2d410a54284df2278bf806b4f3a8a6c7c735de9bd71bc772aa27b547ec6d2bfa43ccbd34b5ee6a3e562f0f7de453da5f917c4ec5cbf0a9ff4bacbbe13e1789070ce05539724ee2f55ee737ef85172710a4adfef0c1040fa02172447ab139330f7fc2d61497843673bdc4bddd69c2b94723155e0cae48ef0c06f6610f162a6cf7a3945332fe0816f75035e85e466816917c7c45f7cf18ef7fd5deb634859b40142288dbd9da4835a801333f2ca626d97cafb1844738bd9d034c2b3b1b49bf484ee5efef88a5515b5948942dc75c82e806e1d404f6974854270593def68fae86219756a53738e9926f3b9a131484fe7dd8b3810b7bef543212b56df14465a9c10f6a1b62a672493c884985c817ae7801d5429e8dd4ec25a93f1f33986403bba33d688eb8131c6491692eca19a5c3b6d4706160a855299b7c4dac50c0cc2f5675e41537f57911fccfe4707d28e5d68099d8e3e3d0ec167d6ea7d13b854b296a743f3579bbb192997956a33de21107dfcb9cf1e302e9724bdb3710b51afc08d1d97fd93dba373eb1c7e9b4bbe886be5015772b5b9d4c7c320453523b10bfbd7bcb0e9b8465a3143b665398db4894bba09a936ae3a275e76d6fcc5e20e6bf0ca030a4d9f9c6e32f55bfa74de4567f5c596704046a9da89ac851761d3d9c733a3f4a652f7568f7208ee106d6b7de99191bf0d1fa7a2217bc0cb847d53cf4091ddd44ffb7cfa55f4b23d8597319646aabe56034d881e67a878cb5203030476f1e62d818cc486cc5fa820bfbe79064ef1e15af9692049c0788683a41db8f6c8b050b8b73b57db1843ce18c9bb82dba187d6f7f22b39104718f23ca105592fdaee23b12893b0f2de79559c4a1ff805c298d8334da9341339d388f12dd2468e7820a5ffc902b9c32079ebba405cbea3401dcfa3ed26c0196a65736460557259668db267de9285f2d65e87e4dbdba8db7ed50b4cb6db57c5253df00987ce80782a847d06342428cc1f4f8bef1f89a9a8574f788bdf8852dd0474dd55220314cb953e912edaf4c14e74e505a22e67f4fab032984f141c4a62ee0f4605cc632fbf9dc0a8bc9407bd8be3d8126ba8a3daa6b82ac02d4295d33c2159a11198f4eb68b36b52390dd8b3a2d5f6c65d8a090cf65b88b9fe3892ca26c9eaa98e1238d87229c6029e145cdf9704b05422b509a55620380346d502b68d46b83ec4ad0a2b6ab61e9ca25c26aa0df787c1e5a09b309f975c98767f74062c760ddab483f68cc61bb736991145940bded6c35da32a97e05026456a3ef1e1378acbe928c324cde12ef1218d3016e265032328ee3ce06c5df6b5e92f7b623c0cf221aa820cc891780bdec89ac6e01572167d179b29ebcab4b21f49060b648f58a56a8fd81c142831ff68d983657c4d689c086f119332c586e3fc9002e183f2d7429d3aee9dbfae4b9497d8d4003583b8064f106b8c2b68af0dcfe71ee1c90d873381f1e8f368c44a0b4cf38f45d6a0e3d118da398dc87c1878d5d113ae7908e9d993c109260572f6d15972717080fdee617944b330605faea25672a1cf93059f295e350492f5039799d470e7a0ad707a43d0b4db458475544ff2e438adf814e2182ec7355d84ef3d01719a82ea034c33264fffdd4a0b281fcc52563200bb3b50796e5038c796a61ce6d039db34031cfb013f54949f555d8d2763aa609f0d39972cbbc13c5f77d74ba315599a02a55e2e9803f0f367bfe51115fe5d33c60deb0e29b49e3013336974f225a1617482eb6cfea23caf29b962b990e61c3c387e9ef388d5b2f5e3e7cb70d7b0fb814b4a36550997f96e8be7edd67f5ba67ca06ba3f3a959f181619e73ca95a712118d2c3e8957efd9c56581d71c7784d42bb4096587d4991dd0a1dec62aca31f0592f41ad32136fa86d761004835b6714c9ce88e7183b3e0cc26b0d664b7ce70bbd2fa5ec353a9e0315a55f6b0a99905380684c88c6c88d10c7f5bad483ee34dad1c198c4a28e66347d142208e2983bc99dcb34d644001173fd352caf49b3acb3c75fa53141ec725041a813c78e5d3a0289490252aa06a47f12a9a77912222ee69481f15992baa22664815f30f5be4252e29538f5f3ba6467618cd5c7115e845366b5379f77c6806af1e8af1a7f790215c18901ce41866964f8930eb5cc56ff343f1fa04b0e1b0e78ff008ced8fc2be1acf37747044529a79498a6ed0a259df826df106d3a3b4d213d51927f6c3c65a97624878859eb0556daded443b970b3702175baa539d9aaf632249886f6c07218f035aab19814ad2f101daf14e28c28c4babcde89a5e8ad96553d8b3792214405a27a71db848918b773d71b75676d31f72b8a6ce31341af35aadabaa4bc13bf5709ee183d3a4d1743dff20feaabfc017ad4f2f539b5072f93b2f9d61226fe0c085082f8e4ccd81303bea785f07a7b6a1afec65a05eb462d004ca7ed765a008817c4a6f981258b1593b395d78c854f5aff6171d2dd8eeda0ec885fd1b9073d77f006bc5165a0a3d0caea44dbce252f1a43371d57c61526620cc5a8c4a609e4af79852119506851c451351db5000423088e773837fb856ec92d6ebf0d03a0bc3b2bd1be5133aee79304752f8543085055f3d05047102422f8386c6da92e633c3cde9477dbe615af9fcb9755f938f468f13adf420923386033a722fe1eb7d9b542ed4e93d4c7e2de0fa1ccf83598609444fa352279f3c4b375beadd6e00082f1c2342ca0f789ae06d31b1e6a982c497940079de884000eeb22a3f9668aa42c3c3a15c161ee36cbbf067295eb3f64751dd05812d8ab5fcccf1355dd40a2fa6d4c68a14838ce1a130f62fe8c79d130720c6444fe2972cd190cedb3d8025b4fb214918080e9dcb0a065f57725bb372d285c59eda1898e68419724d2bec85273d0985f5996c281b68908e15ab85ceab9d34b12349fa9de3ae5ad9f683c12fcf9c4b38c36793b10318bf6c6d9509f6f9978df5265120c5578721e848a8a74f561b1caeb49a220a014b7772e7499ce82c4c25ce968cdadf6eae760233dd72e1520866c489a6e545db99494f10c1999bdb11a4ce5ac8bb5c411f94ac14b9ce02e0e696b8c7eb87a45cb246c1fe9434ecc9edbd655f1853b144968e78f59ae81cca1069ae65d654747b3c7492c3eda3dbb8b2b6c6f3b2965b55a59053c1c16bff2ceda63e6997e539e1fb791579cf9b4646cd611df695c80eb858b592b388b36231807a3de62303e24435cb5047c97596c7125aedb65d30f0f67edcb5baf676e2a582a8ad683c0457e28d0660c4d74a43858db8c15de7f59013370b68eebbe34bf2a1d88cbbf1723277d5c4bc8fbd6d069690ed671efe4e9691b57d6502b74cd90990d1084a81ab65169df4bea92249c4a8c4f118bc3ba5019880ecad55166d5037ffe8c9225193ea30157a9ffdd412274101d72503ce0dc46b69375b56434e694f7b5690d0be06e21b9334f493ececd2b2802fcda0ca8f6b215fa31609f635a8bac6a2bb050481a22b112d33497de87890ef4fe5b12038a14e605e4f809ba71215d6a0bb6ec89daaf3862926734279f453e72da98697cad627e2273e208845f9466d5728c02c9b7d0b397879183763c9a494b0ab3d1df379710e90ad35d968d05e90d5bac9c6c6bfe8eecd6ac2fcbebe8787eca2baa9eaa0e63314d0a1ed5f3d9ff9bd566531d74b45eb6145f8980d1e505a8661b7873503b523895acf92b569ff15653a770d7bb42268dc24c964ee1aca1b2cae146f00a4c36603ae4b151c42208253353e5ff1cf97f7b38d3b9bacae7e5bfca02a5847fd8a3f46f30d523ecd170556748ffeabcb35c8f76e77d0553705e4e3becae788e9a6fff6308408f088e580722e7e94531b9d39c77d3de44533d26bad21405e7b09c7efeb79cccc084a3d2499cf693d66c0907bb157358eb0bf114a8e3639436cd01200776fe3b9d54d69c922c87e5c3cd115336d169a35b11f27b1bbcb28fdbf45ce6a322f133ccbf3d7259b36cc052bbc4a7a4118e6f3037ce7076cbbc38dee1c4319c8da81e05b1cdbc674cde3063484a4a73875e0b11dd7df1a7bbe8169ae383a7866f10d8533cf251b44e0b3c2a885f05ed8cd82fa5995e78f4ab4663dc46b68daa7b07d04b061b3d3b720643151cb7cec5d790fb1bdd970c3574e86a4897beba001269b14121ad79544ae77c33fe821cc7e590006eb4ba6cf1b28d3e2f748f738d272af7734c204a30358a4836c848aabf42f09a59a317ed4b4b2c7f9c7c28cba5a81de30d1e915825a017a8eded66ee0e2d864f03669a40931b5b453390eac384313a3f11e3073b15411fcacfbace29fb31943e5438a15e59d21d10c7e74b890ece7a6e20bac4aea6b4eab97b66e7f4d1d18648779d2c90c3c177d61cc7fc2c2507aab3f6d96f42656996fe3cb741e1724a8fd757e5f3f121390519a89029cfe5596414e5657710c09be54bf35e2c419ac2a9909623588aea0614099749e069a5ac40a39e92ede5b612739cd6faf345e0304475a59e9783bba8a0c76404e5b308595edc8bf7a0dfa77ba315d1601b71f4b99be2d167e74a928bc0a3c79364b10817320e0811179064259c1da06004ba6ef253e170a0e7a7126d828e9d172dbf5b6148e2d1fdaa262074de331371b594a9ab9e7a4cd557932eb31bc2edd389a6f591e75cefbf13ae456b662954ce2ad1557d67203a60891e3b10bf9ff4ea3f65a301ba4d4994f271d62477009565032560e89b4e19a5c64d3ee5d8102e46b0d884c691c042b0cef87b4df3302c778bd00fb11b1488a9f221ed18a038c47fabaae41a3881a9cec5449bc25452ef862f4ef5fcffb54358724c778481d61fdf19f0f44bf54a6a0f9b9ea4394cd77c563d8ffa937622fdccd0e830fb958da7628037d0a9fbdd134679ee1635d59dc7c8ced3c56c49183de35479d29edbfd02758923534720b66cf7fad1bc5d8952979778a2445644a23ee698dc85a0fbfd5f6ce2b2617bfacd53ee0f4483205fd99dca2df68a564e757bc7f43a3dfe4b02a15f24a7bad52f9fe4a08956de87c981462b1d25363ac5f97cc8bd1833f618b30e56c5ee5d2c3f4728a525205458f4bbb3dd19c852051498e2c419c106e9b91a337a795ca4781383b5b2dbbc60e49efbed67392dcfff343651a20d4b12837ad51ad8a7c9291e69f6f4fde545ea04120b42fcb0c91f084d388193d20acac1a2857bd9b252665e33c8e1158491633635423f272575eaf0b606b0727d1a10528546fade278704fe527db4be0b9faac8ca5e83471284c653de8d9fc458a6d9ac55a01f5d410b4bf680af90e3bd87f066db0edc6dc41a9081cd51bb31ad77934ffb9fc999b4ea6cb60f11e91143c30c21305c8dd072b02cd73e4c9f606eaacfcfff68cc61d451deae79b78a5822e5fe7d3c1b8b05d761e679ac0410f4f286746aaafe7666fa8120e174a32a3154a2badf6b60bcb7a32cb1c1be066f88a3e91a9267b34d5f283815ca493fd1005e9716ca4b5710cab248fc29a96e3e50987e62e5dd1a55acc9101162c43f711178c44f402d57c74d3dadb4df75a3ba75e79c9c6549abaa5e71d067a0c957c09acc4db2a10ed8e9e7e7ad5a765d2950dd74b053ab3be33611709c16160d593c746458dbc5fccf3efdf5915a3587772b015c8032db63b6af9615605548ae604eb7088890759d981601845458360703eb8737b1e74af6c6eb22025662a1eb7529aec2e7c5b81216365c70a9798465a80124f796772ecef43e8e07aba11a8d9f29a348b994afb1ee383c6420fafc6c7eef04c157c00e48368b2793055e83d6f288b65c4a24d773df54d7a998f036187e2c84048775a24d624eed1f7444c6ba0ec92ebb000514a25aa02e63e2c0de0cce3f0f78b745f8de244e13015e3cc60be91db4eb85639bbe4897553fce3977763170c18f60b8cf528d3193c143582b0f93fd53cf266cba379ac83b1a981e8cfa7942c7fd20b2d8663c548c972779778af5fe002e70208452e904946f607825190d42ae0147fcbbd139b3066375d566074c90f89b22b6baf272116b07c34d61cba4c14ff13a8e31f8b84aa826a6df5dd7e2c6a59b46bbf71e055900dbfb9d1e44c6feb7b6b07b2f5fcf07afc913726fd435180efc9130125d228e0b0ba2fa8abca4e1affd25186806d38ea237f50ff75afa20d277e59fc91617860fc96479b23eaed7b655e3547b42cac43d796b0102814cb44becc0e2b69762b9bcd385e839ead2b98fa38c1c195916e38209da4ae89665b05664d81be8eaf52f8642fc1d24bf3884fc80022ed1689832c44e74e7381427975c4510420a4d373b547d7713b0258cf6219ff295b610c401565c0a2737dbea307de7c9273d40cd32e9f45f9986c81c814c56eef0484f5b25f856d66f66b02a56ec14a7f0057300d9fbb904571e83cf5f6d3eecfbcc7d7b9cd76ae13aede8322c6c4826025195959bc63d84e6e3709a862ce06ed195f39df556cca40567c69c81a5f4524751e20817cb0743643af1dfe8de55598b4e8c08f543b9e020d59569b6d1cef6d2b9d43084d7bee983ff45b856cbc21ecc9bde973923a9643dc2a894a108f8f1210e4b6e0941c14cf59875127c3e8b4c9ab32c2b0214d8fcbb28f4a47e434488f49b07256335d19f6d3a270422b35ab44d8bb88cbb2ae759c1111fe44b29ff7294b6edc3fc8db149dff99946621204161ae84b510c8c6bf334c9a9d0f3284943db91460d5d8e8be02e76354a84ebbc5bbc899cd7fa6ad6b6cc120cd9ebd03b3ed99032f104cb85e713348da94a7e9fdb873563b706a2b9fa3edf54b2bfc29f69dd288c800f544dd6b14c91c8d4fac444b7336c9d8cdf3c6bf529519dd8f8d7d09f5a55f915f8044dea371f830f6f2afd65951249206b02fa9f69aacbdb9716b18f4a5d983e4f5f67877f13c6ec065cd1fec6b22166319c13c6201c0f96ab8a13da52aaf6de652de936b94ac2a2434d91e2503bc0b85f4c191a9356ec9653069ad8f6495a25d027b543990d0323f2eb94ff93ae440733da3e6879585531c844784c4f3d20a25efd7dcc8e9711506db45210db3b37b22facdb8a57879707077d35d6538c3c0f754a2b70701ceba838e901dbaf78943f2a70c3fc98ffdd70f4cff096eadb7626fa1513b23b523eee2a86b099dd1154074c8c3aa4cbb8fcaab2998154ba87392725b058179aba4fed6993e667728994e0ccae229e0ebb35103f0d347e7525cf00850d53904db116f7c8cf563b6b0ab7626acb710da13f3dc05b08eacb7dd6f64c57706eb6bacc5de758a97efbd0a0afd502b9f35d10681d7adbab87f0c5ab8a197222e56b9dd1298b59ef564254b6edde8c750110a0738a1e0558fec6dd82c427d49045626744c7fab7ca6fd8c91481a2261514abcdf66f3bbfef3445907d90c973a5985a4b4ebfec4a4456153ecdef3d51f36b71f1e74c9261744474f8eab4419bb73095d1a021c3556df41f3ed8fe05252816a5de2123af7a06b155973167879e73011e52892a9ddb15dfbb9db076506a9199d3d30a4f307edebd5845499699c6157de2b39b55a50097269c6b63bcbe3cbf4aaac3d721f0f99f0005a563785d3d67fbc53e367cc34c5927e780e97282a0a1e44fb639966f045240f8bd48f0bbbf8035cbeed0e11c96b1735a0653c181b5f2011d1d51db85c05c2a24bbb89becd5d8c86e555d754b409a310b027315f47ab490b432d8d1003b69ec2198a5b77503285df2413c6cd6db46f7fce5a975290c3878f1634f58a4d0cf36900f84c009041c8952dd2502e40f373e34f4a4449f61e221874d2664f0651128139948a6f30fc27acfe8c6e7be0e572874dd7d8f4c62ae41490b5ad961efd9da4ef358854c447d7cba31aeffa8dd55720e18c200641529793e9ed1331bc29a6fee80157b8a876bbd8bbb55d3ea9e696755e8766f056dcd494486e4a03538347b52fff22fd03f2dff2edd75e3b4da332e81eb84e68f5f85bd37a4b53d62474bfd121c02c35872c641a72c490454988b2317fb57dbb4fac73415be17a294ccb2079e4c6f009812d8622ff88e409deb88b5ba1afd4aa42be04fef254e9435be8b12a434b863abb1606fdecb4ae720a01eeb5b43553ddd36c2bd96fe6690f5e83246122c6e95790524661144d0a4a9cc2c3d65f5cdb3db94cbad2a0def2acac9820fd9e9dca13b5219ad8d9ad500fc20b95f9356ea81d20b3ee281e2007b230345b2fb6f62332e0d0991ec8c0459e554a811a875ef354299083d7df678cee6f9f6805fa65935cab6c2497671dca18de680a561989d0bb0451fc2a3b667d779f110858e4b49c9f03951d494d73c8f6efba852ebae89a9f106daffe1fe4aed4163b5c6acad8df2fea2b6f6d07a9b5e06edd287253ac3ffcc372f33222f15c89b8c9dbfcae2037393678359958d07d719ffe5cd75b080d9cf6474214ec5c6b697718428b5f1cd0f418fa37d18110c52e5af13c64f03146d0f38fd331465098f7a7bf2f1c5f967b469bd8164c428ac8ff5e0ab15ae42ed6f0c672bd0cd64dbc8f1655a2e3ad1ab74b294d0ba02145fc278e2534646f39ffd7201c652f9308342ccab93298602aab019d5307cded8bc7f7f430d153f8536c9fca61da25cab151af01ef6a9cf0f022bc857ac12f56ff15494005d8654f8cc35f420b6ee84169ad9faa7d00a1696d3ea293c77f7440e0d36f6904898397d7e4d8c20baff4cf82718443c0f9d1a5201d2e6e15e44619a17fbc206cc7c84a6b9dd5581d1824625a4d5d758ff4bd01545922f508f05b17bc0d32cd3c6468a27b07d6d10558a8c832f9c9746a5105541c8e7b9d2bb45b6d109079601ea6b00bc15edc85dd93e7f8aa4640279c7c0f6448200d2f322cb94a0342db4f04997ca8c2246d56cdf7d698a7696049c2c4cedb42314e606eff4a8822fe9c609acdc6f9a9839a4c2a30a2cc6dd8d29ec36842f9bf45a35dd0b7df72610eb75a81df27dc59bbdc5b705e1f3b23d3bd35be3e6591ca576d32a0a7e9750788dd48862a3e68e87a0f06a74c2926c492f0a52573a97479d784ede6acb0fe70e388c3e2505d1359e6f2147c67fda2c6cd3398acc785944188a4fc974b56c3d7dde8e3463eb3e8d27c4e3c82c87a488a8c1da6f301f1c1c1ba9fe4a6f0aa836150a8b40355eb0b3971dd8483b86751c7d96b3733101c623d2a45113be2f19a8aa516d6e33b1b277394196347cf29b4534b74fa7ef3f7a64259b205685c763ca243a3ecb6086135ae1fc5da3e7271dade8df62f7e09b635b5873f8f61f69cdcee0ce119e4a7f0f371dd1b9a56bbe3c41f2d2ef73abaecee297458c23e6de641d2dababc7fe82b610b4b20466c90d29eb03aafc1e1e7caaead3681ee09b859bcdd7128b61285dd8ad81f7647a751fd8b198444244a63d00e0e58c8e799a642064bfa01cdb25e89a4c4580bf159da0ccab5cf5b63492352f4843454d531c8dd72291f860371692f5f42a56f09d03399b013b7b6d02670fcd8524b9edd0243614be3f95ac58afdc26ad1a219b9abebf65a8b84cb24418f4c28eb8d37dc32236304331c68f7c24c34b08e9ea02bfdcc6d53f167072a52bf9b0c6d8a07dec08b81516e6a367edc5f472ea909deff39eb388f9a3a2065a82d9b3b62b23dfd694eea32858d9f8ad0b33e66759b5b164facb8c9f533228b6401bbcfc489289f8804621cd7686b4569f84c09f832bece6cbbe918383ce3f08ae3ca4de2ab297bc0d99456c9274f3acea50c98e4ac094a17d9ac7d0363a8e055f3fbc38afe9a15ffe7cf72e2b06d2a90564c41c70ec8846161b389ba8d35e702c4009688695f0ef6f0b74956df49c6f16aeeba529da6600620dd1cb5a8520c7ae5ff0c1b2865b76a621746de1012f57047a14a6df86bd1a89310267699d20b06e40b178fd171937ef905a6aef72f27466a971c9573c959fc0b3f7bccb6db8f9c82a0995ec6e5158b7bddf1927b3157c8080e91db3cf5ee487fa3b3d3b090732fb191d650f0ce5cc3e8d27f7c6963f99934da9038984d987dd07a0e822a03ea7fa48a14424e70fb3f08dc74c256d94d92f235ea50be42f1d1fc2242f20c0cd925b06b57decde2d461c43c7a118caad1f7a1579cccd392830a999d891faf0d7f5e11165f03fea78a74d0814d591c286627804711e8fbcf27ba253ae493b2de0caf39309e32eaca7ef0c53992d3ac98af42341a1121964dccc7fbd25d39bb04838c134a6301ffdda0abce3be5867d3bf9bc6393cbc5bf2970a9bac3d3769ffbe1a4654d03e299df7dcff84162bbd61b1c55a183298835525fe9f15d5f44a41eddafb225a1d0be3cb998db86a792fa504cd8163ade957201da695ee2e33f1205cb5f48c70291cd30682e436d44f97f3eef9bfd7f562cf2e94488d3d1a010f169d1a6b520ff401759365e8926e15849fc830fabcf8e897c4d62679266b3627f17f8331ada841a98fa102d0b306c2801cec09cf8eb68d0b06135d9fdf1ecd6fce3c919222d97d544eb2fda168e396e57b3fd8fe437188f80dbff0178a9a5433e4275ca0dfb970d001dba62c7b2eceb2cfc2746b57354e71142ba90285711ab520ecd525c2849c9d29e6d1546a8e91e7b2daaf89031d5204329e9bbee92c72c3681bc6eee2d5c84b9436d7726321e7439d85005f7595ed7b3b8494bae6f9f033fba701792d537537511f9321bab375e20e6482d97bbf4131ea7ea21d33452266af92622f38aff711883b058209657ce5d6953e2eedc1b9f6140fe67e864bcce404af7ddc23a31edf931331af9ee5185ed05c4de1012d6f5307d312771b2a6f3add2472daaa6b632df9803a2393b3c0f7c89c45865e70682d1d54637966fb3248961d95adaad5db5ed6713262d948a02882b6c05af010d0708eb838138feb7751852ad68afca856cc3c2e0393e79542c12b3b10e0b0a791d6a47e7a6c3ccb1f5a77a2ec520c3f48cd0e19dd64d40262a7c860f6e595e19b05615490ab88b9ed2de3d79bb0ed3ec7db7c5348187ff2566246146d80a21a495f43ae836e2af338b2ea3ce0ec0dccceb643d43e91ee449e07177b49fae97d42f0c669f56ae28854b218772c6d66684f2fe5bca9e971e7d0ccfdbd6dfe0865474e7419c53b9e3ccbcdf4c3ac1e47bd116c962b5d033c322a8c4d3a74e3ab1e5549a1c35eaabbdf3ff40dcbb66c5873b78701968069bee8c2fcc7a44a5f57ebf20d0dfc10b7c696f9be1bbd78a854aa0ac7814a01b8bfdec4216b1b715b2ea61879258c822347c32d85fda42c4f66f3e97d07176e058732a7a010902998e8cfb9d661d99380282f289f7bd9207b8beb065d7f41fbf5d79df9e120b8461ca43c3f12e298ff5e9a737bf7e5ae5940812515d1751df3c0deae9163cb3d7c62547eadbec56fdd024fe6c8c5d2b17928d604812709c2f0fc9817947e5d54c725adac9c0dc8cb42cd064bb485f4914560a288dd5455d5ed2e003dced710b2ee4bc057e5c5644f7196169450e201f05087fad8d3ace6a7bfac8451bbb581326cf984e0456dd64cd12cdb99b6a58fbf7d28488422b431602bc923e41c15881a23163ce87cf536f86b92381039224a975ad5209122a410cf1502254ae7bf7bbabe68a1fe253e72aae6956bc7680ee708d5b065a5bfea7438e9384ce027145375f88212ac22fba56a93bcd9d70ac897982d7ddec654d5c085fbbb5c3c6f6a375347a0a23d84b02daab5a0a1796fd195c763de723f6d6fbd51320d78ef6c9b54d4bc44a14f57ef02fdc3144125e08c8230f177cdda1eabbdd1fdc1dc99f018f4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ccd9984996b407121ed8cdc81d0e01dd12890b3b6a7c89d1d520b94267c436a3416ee42a0f983e01789385ea3d645c42cf89c7b73f6073e68a19c1027c73e90e882f8ad52b22877d2ea866a6b2d6d852b086041982694e624ab06e9d3c116fee83ef38707f8ae88e96d3fb56a6a92cb78a63a9f4d0f0dbc6b675ed092d4159ad183d088587eedf0730a8494f5c4d745dad7b3f1bc9cd9b0c6fc55325f746b715ebbf124757a35bfb5ebfc9a00af06fc8f841ad4a6d0fdb6a98c197f87f49f5e25bf3f00497c1504d36d33738f7a81612a692b73a4a24234cc7e3cca2c201b54b427246ec8a0d7398ac0546d319b5c07b049e8e897bc3fdbdd19caf71f05445eaf1481798564969c9175c1101c73d23d2980d8f997ae5a46c7227a8c3792da7f1d3770aa81fd7ef06c4c96757847e8f3175cc4deb3ad573400c1f23b0b2045a8eb70cb13f4ea5639941b20c0c400c5df6ef60d9521820cd9cbf7a6b5bcb459ddbff1a414820c42d81dfa2451473fe62b38448623169e933a71fd4b031df52515e1c1d3542080e335b9b6f8c0281583fa952d09354aab8a375d55f93745d87308db3bbac071991b64889ccec0541537fbf919aa4becdabf08c43db19814abec373f79b12cb1e7391672c8cb5df11218a37529d3dfa6b356a6f9bedb21b428721b01dfedb26e5381bc6dc6d105baefe5c712ba582e265409f2ae0311e238796207ab33707be8efd63d622724529e4089529efab3542100fcb4fe4e9c4308b920a89019f10918107ea2d1616fbe3664a50c4917d617b3d077282e36f1a192743a6d93b7ced3e18c902ed6ea19f23f3d88d215ec7cc8732311773a5de6c52a640a7d2c5cf68491b7c27a23f787637ada86ab040b3e58a7dc6b2d7a6950e3bc1f21e603dc73ca9af049e050d347b7fb891e9518ce7a83b75d2acd551f6ba51bd33346a70d123aaba2107625ef91b13b06838e0f9d776129a459e2a619748a947a8fa3358689f908bf40067f0a59ba34dfbc06d673d45c962dcff063b55fac645f417d54f2936f1597ec9dec5cd87e081442935e0bfaefcac64c4c775748f7086222acca7c1740a68afb3df0dab36b31e0b9c704cca025b20bcc225bc73b77bcbfdde66d4887f0456b69233376764efd17e9e7022a1e4c94996500d129739ddd074b18e5ed7273af2b0cea2e50ca0712d18e9da8ca465b3c413a9f2931bbb581474eb8a5cf1fa43a30bb6067b5357db28da54a0f5fa010dfd9636c0f7f5cc0301ecfa75df0de44d77ea6327db4613fa94eed9f7231e53163bd8621812bb774f7e7d40ce20d2def717cd5aef3984b51cc1d129496b804abf63b401eacffd6cd0b17c59cc5dd2610813f3c34be1f16e6cefc62f913ad5161d64f03f868ecd82b883185980b67aa38e1fab98f499ad0420da7b72e2f6ee0000bc60cec237bafe30155ff35f5fb742c65edeabb3262a0db8cc255236dbaccb17f2f65800556c8c4a339c153e8a3aa59490ba725043e75ec0f62b6c51d5da6fdf6675355c9fdaf6de473301224b042e049f83b326c57499897eb3506bbfb90602a62a8dcf2f79ceddbeacd0fb9d8a83bb4d1290e45427e7614712ddbfc0f4b45f2f4c50eacf4f2f1fc1e3b551ed3eed1aa083438df1ace38a683e11b98520a055bbd73b7c119b688c043c1345e155c94fcad1d17a3eaffe36408e296ecd6ff98012a266367e5e58ca8d6d7f40c669bf51847d751cf550fecfa133674a55dc3577b32ec95e0347ea6ccace684548ee69a985c53c934602f6756549baf8c20a1f14f20c3a9c9a86cd0f0c6e0aecbb22593831c1ff14c3f4483f759e1e60d377eb106bf5163c8a726314539c2a21c86d2b305caea182a061c01fe637b2f3d2a65ef640737942cfbb24107597b27bfcc47624984dd72aefa9ffe345bfcfc0d004e404bd668e533db78f6636a99d65fc11d9a76e91767820bc613a51921376eb50f191d20a093656c1295b25baeabc5beca69c78048323ae89a11e275fb6fa750d1b1c61a5094477714d6b89928b2541c2a5e0b1971a023aca7ce9a95f7c14ac125a9afdade0e712489e4f92390f0e2fca7410230e711c93b14cc7269147bbd1afbc16d23efbe5bc97720fac46b5e7ef55c0e3b346a51f3642f55b6c284f70e46e1a345ef31cefcde1b3f9f1b9c9e805780fe5162aae574baca9e04a136ef85b1bd2df380392fcd0a011c543da3c825e6dd6e6945fdf874974890e04fda442398ede67042efcdb84c77c6d5c624daed8b478d12bbf40b0c5a71d4c345c29a6c53bc05865ca5b7696eda3a2627aabe15f6ec5b3db4472347b7a2f2204fd32163fba6bf20fb29031f811f869f362caea39926a5c7c2b92d14a16803b615525ad517d79ff42c921a9df1c628897e79e8d2bc890b90aa583ff9dce8b826a48fed8ba66fb67196cb085384bf434832a2f86dd42b5f3fc8e4934af2c9fc195e81a23848a2c68b9acb50a7fd1fcde2bafaab2e5da70c71861f29f010689df83d4ad4cf9268a2940507cd4da416f8892669c8bafdf4fa0a521772bc501facc879b488dcf68768d46148327aa9aa648f39d22531875e2f27c3b87ec251b986aa50865a73521a0e5fb937628bfe742cc790a33015f76eb653e95347322ec860e8fca2d492fbce381ea3a29bcfbe1b5c1fa4a709c0cbf356fd3e21c8e0242f50ad84aa59f0dd31ac8bde9ac8bd49b776320d69f9d36469a81a0630cd91a1883b32f9399180e249c9dc21ccafd70ff22f30e4a79892260198c2aa41f7699ad31f1e652f7d4b42b9a30cf951a32602c5ba42f559f7ed34a9ea99ecfa1da35d5370e00cd321bbf3045f7e05d65389406d3126b53da3d65c9cf871f2be908aebdef42921ce515e8ff7b9acb09e50120f313e5492d57991726c253df1543b88b1cd25332f434d65fb0860be29232688314ab509a1169cdd1c833db6197fdef02dc9640d8b05edcb50724c36d2d64b480aeeb45bc307aee226e4e898a6c3a482cd23a3c219807e057d64b37eea079f18bc0f5e83c4516ff847ddebf7fc171b53122ab7ec1c2acb9816100a57d3fc4bbcb9511caa27abb4781753aa58501352b6dde7837d1913db3fbef70e056b60107c73ddca25b70ecd981475501bf33d12ef4c271fb9b6374153d715a0a4550bb3c9eb925b33389360a4d79a67e64cfffaad4670fd104a578d570c324c3df642a938498a835d299e6aa2fe57551cd9e2a6201af1211a46074631f00a107f29b903ef7d6f40b58f481bcf570075ffca24fa587b18a545b5ff71d4cb487274d10a9b0a6609f19acfbb0216b9c1460d07865a1bbe4304782b943a5c4a6288fe3efeb5c7036f6a1017909c7f4c9ee216bb45f39159fd7acf5e53ca5b86ba05572a8a6075fbd5b47ba7802c2b0482714e63726178acb3855a27cee41001309ddfda0c9117b5b7b67908c6780908080c73f237644f564608655790cff0fb17a439e1534768a44f917a16c68d130b119dfa2498db3d9634f68ebea9c78dafd5f2d2ae24c48d62f8321c2b3fab8262b7016f8a85cdc56b2737fd11d5802665bd57d4f658805cbb51615d7799ae7e30c1761b5c899d62730df8728527e9f6e954ad27316efa0437675c817c3af3757bc4a45ded9d0716046991dc1b3a8ec4bc33f849399d50e018b15bd953683cc3788775f71055d34e346f6baf4b93c9a81e39a895e8b067f6b523f56022eabdaf07bd5eba4df144546ce5bd3614e7145369310a82acd8c1b71b2490676f8b2ebfdec799194c64a88168ee9e3791691fbfe310610474e46a13d4c19e7b78cc2a9c430bad15b664986e78607b98ede316064ffaceb99a87e9523b82de0e7125559079890a96bf5840b0fd2f52a7f5f8dabb1152fead951a04bc2db6e7f4afbf4c8ee7be8dbbbde10ad0dde174da6b0debc8bf0535e2791180729fe8206cd218f752ad4e8f11d8a4cf6a333d82bbb0eec82221912fc9c861662de070e2ab09bcc28d4aef78c622cf8057ec8c91e0c26f7c866fa70e333db54b2cb0bc4f3e826dd15466f5532d36887f78a5b31049db2542e1437a26894cf67a31751063db992791b1e889b96c74c29267e51664adebbd5fc9f65f0a50e74b0f8515702a47d26e11826e69801250ce3f675a01d81cb16aea9a01fead8656ab0de558bd50e7d4e3d0b3077b7f631f5f93034b3403e8233075a091149f7713b0faabdc3e258fb0b078a13a45b8bdf4691dcd9403db6618009347d82615d741d073d52850009a395fe2bec66bec8d8bfcf34f076dbb0b936f858af341a262bfb7c2ff28a163f37e5007d8dd5bb75a4c59c0e2dc9a28582436930ca35e6ff56cd74927cd4190696ae947b04ee761e4d74f108fc6c08d6dd96b47894c133576a0ad06cbfcb719f72676aff5bca32f6d0d9550031ce39089fd733b0365e308f176aef7f7a55f09391d175bc42de14cbd892031cdf65fcc24389f57e560c38b35f8942e292332cba96d31a491f7d8fa46edcddddf58c1cc725bd5f0a0c731774add82d32bc142c974c748e1c1f579c14ab6aea8c0626f82a012b9bd4bfa8705c218de019b312626736f54e6c453591f2c7c767d611e0791d6b2ffa7ce705a7cc5241279b63c3ce2301f426d8d3bb2790953a2e2d4477fa4d35c5796f6a679db60f2a37fe9a7c1df7928332192cda3bba69804840890e2de2fd9564345ee920c76f34299468275ae292826c35de3727f919bbedc94f6fd3317ec12acd8f828dcd1e00b7b74ae68c6ad2a3948f62fe05573175150251f2ff071aa7ec4f392b2ef0a4b00265508b5e9db1341494e498fbb1a6b1e08d547bd200593306f57d211e64b54a5f19ec5fe5ef0025717ddeb1037e340203cc21b0dc1247ebcde92aad8a1c7d36aad11b40de45487c191a5640fa694f9d87a4b314eecdf40a321db0aebfc44684bafc9a3ed29ae0a313a76cd96a2513853fbc90c03718b578b2497997a6fed47a3df98b06d42c60dccb4c3b67bd304cd3e927507933f3a5b640b0519aeb5893262f4acf0c415b4cde28ddbf145e5edf64e1917d3c375b002036e3158d0faec4fe0eb64ab3a71a79f19ef0a5d33efe356e8d09c44abdf66c4a4700677211af0739eecc00e9013721a5e9cb779c964a55ce1c2ef100e34da62578a6004a4c8eba9049da0c6900fc1582e68ee00991bc92f53ebab231f36b39232fbafa84bc743da2d62f129229d962ab80f05c33cd93953ced1ccc5b36bca906f6dc7e49526f1e20ad2831f5b14e24e17c756a329c433af7561e5683621e464cce95e92c5d5c566d2c45f0ccb7d73b29d8a4ff85ac9e4d32d7170c834858b3073025e9ae18fe9e5ce3c1253c367c41a167aaf60caa1715a64088af30ea04ba307099345aa6fb775ecd1792dff41857d26a08459a9afe9cbde96e071b0d7be505e966113f6890948fa305eafaeab00858cb4e12b2fd50239ea356c832f109a74a42fc888fe75382fe9777279acda31678541133adc98598517997f29ce2a2dd3246f24f9b2720d66e9b3c02b0476451ffedd34f473d99230d93e2720c610c149ad5af4d1bd4b901e200d8ed135bcd460346b862333de9fd786c4b324883ba5eef9f44481144c28c33c8f824e77aeb465fd91db864145a3225e624d910302fdc5dfec5953afed7be95a16f190afbeb9846f711fcb843cc1f7caa93b079a8192e74cc82aa0f9e0e47eb3859d5f41ae1129963809e63d1fb63c38d9bfa3a24ded64b8aa81c87e64d62ececf6a565b708be72f17c0be41cd461973b4e784afa6fb15cedc19ba2c41e9bd136424509cdd4b30769f510f5f69f7e76a57ea1da374e435c04c8e4ccaffd26460cca888bb42e69176f130c02631602b3212169ee11724db972430637c87b45ac70ea53639f8e4b4dbbae34f743ffbb38f79afd9bb6a2be6c07b10bcf132a0d9a57032f1edfe5c904819d964981a9b3a68f1076c29bcb6be8742884ff410fe1ab1f9855b8d079ed177479164aea5251a127796902918705ed12cfe0f8e611951a252cb7633d8d76894b3e8970e10cb84b2aebf33d7114141d497b9f59e61378bf2ac34c9a50b8c85cd2b1bd7b9ea674372674a164ede644e265d9bbb75b6fa7d62e93c6f013f40476c37f7e3521ab8b5ed2a449728814fee5d8645540124f34df5662ac7fcb19f9c029a7e584ff35b81f7264802fd983105cd0cb1871863217d50159a61ae56da9f3a783841af54206055dfa5fc21c7610f4693fd255c2e31b71babf657ec6ebe4663f0207aa2d6182fcd4d174d32b63dfd3eb6fec6f95cf115a05e8b4c5917d30722f41e5dc4b27fbeed35a86d667691dc25e9fd8b0736e8b606627423570f3b878cdeeca2baf81ca83c57b5a6d521ddf55ae8c4dbd764a55ee549ca7d50953ecb045142b2c4f661bbb154d6834aefd6891e3d6b6578799b7302f5aad4566e350fda2effe18a9ffd5201ab9ca66e242818a8b1735c8606b51e36b7fea11d4b50f89d42c47104f62a1edf03097dfef8fa00dde988ee0ffe03a0417d752b5781c436f1816d82738dae1af1fadfb53a588b02e7a1ba6be0ae2d0a2d3ffbcf120a2c54f70ca0e46c1870687f1a9237d9a4ae853cb7faeb8f33f9376bc151bc22c8ac215e2ee44b44109ca2681e7680fd7da1cc46862b9c2d293082afe1e006b27ed034dbd5ac95d2c01aaca9b7a85484dec3bfae3e6c6687bfafccf7a8ed14334986ee958458da42bb87319e3eaee842b42b844ede5e3440776fdcfa00583961f42e8b1fa905684f7cb83c6e4445fc5eae0670a37ae3e020ba2f8540f94a1c301f8bf96f517e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fe9dc0af8a61b22c1f9ee6a5f3622bfdcb84b2eeb470db9012f581930687c8fb2672f7b57ac9dd10294632cc607802c6b39bda17d15c95c48d7c4ff198db8d26732c08b53d215942c06a92166f5d7e853c1192277730850ccd9bc345ff13a9a2b369d2e0c3de5507d36fae62b5032ed286f562afd7cfb145279c739e2900c60482e45122bba59b6a269b782afc98be19172660fe5f1e629aef5f2208625334fca3275213ad98a8d9b0156e0910657ee1b5247717a4fff856739de7b75da66ec459ce2e52f3e7928fe03e6d9d5d6a588cea8f75650bdbf0cf9832654979ba8eccf7f833d0fb4434d2e39880518f92f210b77870f582a94bc661890d4a3760c6d5c607c469a6c97fba8acd5c6ae065a30f41a80d59cf0dabf5bc540efd2de29e35df710833bae5fa4b0db7686e27cb8aea54e2db0bbdcbe91c7d967e2781229f5690149fc3acbe9862c906430f3e328a5d1d959a122c0365075d19f213923cbbffe045d87286935bcf022dcbe2cf3401f2203abbb492b544ec7d2fccbff6d31abbd2d786d533b058ef1f9b549d4b2af98d784b36c612a40565f9d286a2541b7f6af471fb5ecaf78d4f81211aa83ac1b25a2e3b7116fbe41c8063cfed798263fb186a7b38b2c060bead0abef74cb35ffd2a3bfbddf73ba0e1d2934a3fedfd8bdb4619f7bf815667eae5547da38dec73e4559a9305897e68fc14cc246743a66d2809195c0475376b92f93ded6847820a662f48484cf501fb0fcf817568887e9b743603a8e6546f28b123864e5cbf7943c91bde83bbc45d07cfa93bf0cb81b3f407228d2d1a17a920f97ee0bc9ecbb00105e526b71572b2ce61cefefa5cf7dc9cf4f91f9b2ec9efcb362b383fc2fd2d89fe3554436074113c7dd885012b259163cabcf1bbb7c4a411f853d813f655bc3445125dabc34c99a4ff8c061ad0bb82e086790290f383e6d7772b044fd77f68324c61874b6b0259e99e340b43176b4a0e7ac3065d90863eedf12cf8ef8853a27034792f17429362c9b721d8d6e3046cc2d9b93c4b0a57049ffcc6a45d2a182382a20297acfc6a831765ebf9d83962736c7c0abb5f2040b01d50b7f0e9587c702dd45644ac4e6950224fc7c29255a887e95d5e6bca7ec2197707add4a4a717d13cc8af75571954b836fc3f7620449c2d0f6f75798a3eb9090be88250320f02ce7716b83178c7b3791d572e046a8ae5940372e3a018932e9daa03f1a25e0426b24d8ff617963c1cdc5f7316c947ce7c5dff16b560c03d6928886d6e19bbac9b2423895feebbcc72eb9cd64d58c997dcbff37ea1ad4ac8dc8e4793267ba3c5d8e71eedea9b9ee8e3f3ea212e803bf63513f71f319d148abdef72a8a60daed6397152828d4902176f5d3c725d4434315f41c9a4619becf222fce5c68d2387f19e991c03ba6ee31e0264c0a24cfc05eb271693442189f57946ac03a503093cf6236a332d85b2080d716d9281da273d1e2f73537e25f923f53d363084e7f900c41db1f6550fd9aa3f150cb44f28af5e9655f4b5797a7b34119a6770a19bfcb76732860cbee7210a0ea4c4b32b860ac4554b7b9b0b7ba68771715c6028d866138c21e589b7d529320dd802fbdfba095fe1c78b65aba050301f089ad3cc53f92726227e9167a47429976bcb9b1b437130555d424957ff59abd137b0951403f5dbdb975f01d70c6e47dce7b2b39118035d521df9bbc5850ec7690fb534ae6e78d17445f654396d323ced4093c3143693f6f43500e1ce06b81517fa000b92e1646c01c8ca10393339fa6f26be1b73fd0753fcf067eae24b4dc9070b456164de3d9261db647616db037f6ae3c376d5a46a16fa9bdc5e25733e5106e2e9a05410d8b869871e23952bacd3b360903bec7fbe4802deac4e25e2b090a7bc0c82937907ace29934aa74653f8483be0f968b0064e9d0cb3f4073fdf4350796520d1dd6095688d7229eafeaab254d2362ed5451dbb8719640b8e208fe56d8280e01b0aecbf33b7cc82f05dc0f0ec8acbeb66e2e498e87265e6021ab323385a99eba37e921d3b52e982e377f349827877643b909301d1b1eb1d518c179be22dff2f08ed713dd01627cde593975d1eff3259c8b367f8254accd38f47ca109c66228406f43e3e9627cc2eb0108e6c6c19db6509a990d0e917ea902a76aaa8e8a3bfaadb8f61eca106bb69c3e93dcece05995b7d4f9c15218f84799a887a5f6569a086b47b09d249aac73d404f33df0eca3806feebf254e149955dc7f0d9667c4aed793a064ad8ca495228a45b9b3c6c27383923bcab8d736cd23310d53e0af9cb9fea31930284074a2af2f7f3646020a10aaddd33595f8b3f44d3169d1f78d8e9b1494f8b301c0cef778690bd195c277dcd5e57f3605b7e3b21602d4726750b812feaf9fce08d1c6a67e5676c30e879b4cc51b2a8aa3b8e070fb09954d70cc8b877d3f558ba58938e6ae2df0532144dc073d7214abb179e68a7d4626f536411788522e70f089d2d5f45b326960995c4d7fd0ea2557fd1937d2fa2a0c437f8e2f8bf9242b001fd1d37b828dccdf0afe33c7a63149cd04b742965d50539e922551d32734ecd472d1c743383161cc7b5e437541c364e29be28858ec8bc5d6c05505988b55497e5b6ac3cf4daace263549fd6903ac78da4d5cd9417ca134b6f732b47ffc33dfe5c7770919ae57949984fb2dd9409d831c9cd6c9df2b34bb96dbd31f3f61a6726a64c2a496c83665e2a4842bc81bbf6a7a0a7ac73c83fb9c88e6a2c0ccb58fe1c9e6824fb4d4097035451ed1aee1b763560a3c450b0f14e86c4a15370bf95301e849289f28211c6fec639189cfe801a26d6ea25c26c0e24b42da249848c158ea8f9984dcb14977cf9c4610487ca5d0526f1800ef47aa6d8b43211ddd75310ee5235ddc6f1722e6227bce819b53c277a39620231dfed13da99f9172e34f65559fb9122c92353b787655f68ad6f972730f3a6e59dfc42918eb54264dc1052340901525b3443792e98a7d9b43e1c4b9a22d90948b6da840b5af8cdc6a38dc1b757f8380ab0cb4128bf727eb90f49359e37ddea9cfe770c1c9c0e106e77333726fed3156c3ddc46d93970b75d3eab55d778e20bd098108883509e4284e1bc52c5bbfea1764f2e8ec5f02bce71853327a5a59330756862d61875a71d4a361df30b9af2806cd8c5aac2da07c0a5e55fe4981d1a7a6aa1ccfaccdd89ee2b7b234dc78fe8d14772a0fd8b0719a66dcf2806f1c08bc1ef1979b5172436f4d66b1ea8689e045c24044a753aebdca137b1b64b3ade82db0638e9f4c0211b8b6a63e1cf283f79c6da1a9434bfed0b29a2cb5528d5b6d1c006c165f6bb5bf92c4fac6f1f808fc2a933e6e4be7a28dc903945ee00f0606d90c73bbe4fde3230a6fa07aaab2d71ac6cf51464a5a1466cefde97fc1425cee76c2c91cceb1c2a8519458a759173a3490e17678ede2c35f372082e7eff1a2bf3f737298514d9580a8b6d1dc85c687b46c7f81700c586e3eb28fc492e81fb11ec319e8993c156bef9511f01eab48a29786d822d55acb9c698bf144f420cd0cb22705d7779c17efa219757c35587d3a490019e279e3211ae778e4ec3fdae13d4e1dc9a677e615542730aa66473b52002366f1605083b5d2455dc7836bbb6dedc7049dfe794bb915b5235550cd1bd2718dec0f7f3e609ef63c2819e5b24d2559b5aea68ee8a7457a472180ae5a94f326c5a81b19125940545c2f5e01f6e99d9c701809280e045ebde3264fa7e3a52f11cd77a24b0b1b590d9a7cb81e43f24b5c8da61c059632bde464f4a95d338c85046ccaae443f21aa8a68b0e4884e3d32c5affd18b604c30174877d4c1309c9676e9ae8df2124ef1dc961fbc2ac783d005c62eca6254cbad9182fefd8e7a8e47dba9a59f79861498df2c179e897f1c78ddd37bb32ae6379b3f89a74d78f5078599db975027c0c0f0d1a6a83c386184f2a696a9bebacd466c90c91f9e4662415f4b425f92c10ffa20afb70d1ddf3fbdf6446815d84c063f0b163248c3fbe72b63fbcc344692853ac3937597f3eb310aa8b11ad7a044f2094930896e6112b8c3249da6660c1513b645cfbc815594901fd48bd3f73556c1197d45f2ffb7d4d8d935e4a697020de34e5af9d52562ed31d9093bad7a9503d688c132215997538809f8bdd6e51615cf33b02bb55449308e5fc4fbffb4babbe291df8912d4b1e3e964035f027522d357f12613124e41f28bf2fe7040f5a0aacfd3f482eca4d2a6858689da4992632af6c7c4658bff03b5d19f599189d0b1bc4aca1d08801466d0c11ff27f23ead4d778799933fb84adc3a5131d6419df62278c4e057a7c4890d4c98e17eacc7354d34cefa84df7b384f64f9ee7ef0b242ed0e4f1d1f88fddc380f6dfbe523316b95615fdad408299e9038fad3e9d651134e588f3790c722b8743099bdca570bc2b09b2d773cc1ab7beb2da3acd48610b6ddc36bc643f33a24df956cdcb50e52ea476e3c63eb8f2798e3841f5d4fd0362d06417d094823a7f4f376cf877b920a3ad3670e2171d03739105e0a5eb3a047064584c22749a629b0d594e54103a73b2e06e010b295b59b3fcce6e888ff0157773b4c2a9c2fde8026326a7d96595f5e3ee0c9574c0f37ab88d5cbc1740297ac16b057c5616ffb8130c3d524d0d936580066cf6ecb147625c5cd162d183da5eb4fa23047501341d9c06cf82c1d685e9cd693f156ba0ee5c8782851ee4cde7799f3bc9afe737b7a5fec4b0bd526d8dc5d0eea5faf9b68949e88c5de80b4ded7c46a9e137a03fa0c89c364cac9ce752a19eb6f75336e35a080ee9ca54938d262eb879b2505c7e43b04bbae13d6515eb46394c3f9e60984e1b551d118c9408cb0712b01a79a8c37d3627a12a1a08ddbf5575856323fe1d74c8da6966e435f24916a70e6399ba41c640776faa21e892ff9b8ca65e013f37671fb1ad3872ecd8cedf452612588a1195723da83fc8cd9b18a31bb6f2a5a486d5ccdab8ed1a62ecc150db40a36684c1c84759957898269ee21b3ac01e6c72b583757ed72cf84beab2b8e42a9fd827385a8a83bca8c499057442fc1a5edf2b2a622fbbda9437e74fb4cf19bcb942cbe8335ab2a6c66709b3e8da9fff618d78ce6432c6a15ff1514d2b3ebcc970fcc1cca5f2fb0db9a2938b07c1c6bf756db5a2a07831bae46f0cc8daeae436f0105f1048d533ea800b1760f9904e10df64194fcbf68a5179ac298fb9545a58531448af5f65199d3473267d30f8e452ccc05458a7c83df862a512eb21e71c5cd0a361e91da3b33e0d264c2df7ebf1e4a5ffddc7b256423f86a864dcdc234e8806a0c49fdde85f958010c1230fd02d9f34590aaedb398e90760fdb44508e8e36b6f1557a32ef304428010af8888a943cc15fd932b20cf018c41ce4c09ab758c537912b7db3985765e756c035c94ca3a600fd614f5a4271272959b41e7fd86ef1294215ad3a0475cf26b19966366b15e15a727a226e33a90916f0261626026fbfe100ed7a6262f4213d09d1b7ca9944bad6f8bf21d3c7f03ff6c93d469159aba788964f60f75c11a16a9f55a401eb23e448746dd214135565851c556afc803aa80c4a338338d38dc3baec303297b40688321d2be68cff9f28fe017dd5f6b315a3e30d7ee297257cbd64761e98678d00ec0558576d6931fd0efedfa0c8d3d5fbaa6d3945963f5865d6dfb58cd583892034e06eb0251a8407ba5c56920bdf5283ac2cdb1c109b67d7e18edbec5eb26bdae695bf8bb86c0d958bb1279589ff4b3ae619e2604b4dfd038d19b226c4c8ca7f8c37b392997de1a273a72ba45719e4f4e435ff09e7765faf6e37c879a082bfa06dce425ecc60c5411c940fcc1d9d9b29e2b3b4eec73797769740bcdb3043b87fa3f77f4fac165245107e2ec33c2c46e6746cb27aa1b049866ea1e7dac247e425a18066d927f0bd5278eacaa56c5f08a5feff86b0b25d863a122b0f2f757caf8b47c5206235bfc1969ce33080e64a1ea77f74792f2b719751a7b10ed5dfe59806b8764592579dd2f914329d69bf64c8b720514b2bc29a47c107e82a61c85445009f6026dd02830b6a2abce4bb931c7ba9c15595191a0fd25cc741efeb3ccf88bb8081ecb463ce75800353a249b792884232b6694cb299550f9f2c6c4ec8533131683dd3ba09ea7d4322fa1d990f882a1e60abb85d523db10d30a148aa3961c151f507fda4a3363d11e6d8a12e34148b9895c11d3b8df976ec0e6fca2d4caeb3e2a2c9bf324b7c0184d0dc87a2800fb68b967ab41cb9c7b00ebeed438759d4d9e180d1ae0ce9c0ffbbeabcd9ff6ca6fc3f4d2162f1a6ab45c868a21b0c47cc2fe7d57940586aaa8d972e62e27389dc0b919f1dd2e054321200b83cc3abc61fea72a3ec72ce063acc2506d7811e78199a3e9d9e45fb806efe923af971319c137a32e0a89ca2fc8e5e792a1a6bbefd70b0b0f29ac7b70f7d7d550fc3fc49762c7ac50bf8190d871ea86177725f87441d94a07cd208a715677a140108a0b373c471d493f18f6625120e11f99a1b4cacb4588f73aac87fbfd1f35ce4a8b54fc81f364db8e2293cbc0174c5e3c3f3184ae9322b447c41ce6fdc4036660584b5f63406cdc14a3e91def9a640afc9d0bf96919738df3bd7463eae6fd1a21ffd0ea7a4045bbff70caeb33e4154b7c7c3acdd73849f8a7693088afc0ac084be72ddf02dff7a67508389bc2de71825276fd4a0a265667ecd9d53a82f3769b046755e1dc1822e7998ad4963d662c6cd9f02b6dd17c7c2e7603299a572fdfc01a1e9e895083087caa7568fb922a1c271d976f9af8c1583b6113ad1f56e4b4b7792033bd248b77421afdabf9a95305ab6dab6ed1be645c0107cdbca3ca587500723c894e12578ddae807a8f7bbdd53a8d8350c4ae64cf07536e95d9712f77d0fcd04ca232a435e81d75874de659ebd2ab792cceee39937823fd270b3a11dd5db10e88e41ffc2de8fa5b25e14a5e2f833a5dc01ec3feff92b5aa4b2f410d4f312ddb7ceee2c0c25048aee5aa2bd91d780bc3e5fdbe248937418ef0e8da358c038098f2ed41f1335c59d1781d94777dcf62375f0f0af5c47e38f00eefb6f5392a1edd44d9c917db3377b64a049eb9e87ba7ffb3c38b720c10a16b06bbf04ace1ce190ffb9f33f66e60144b8afcd1dc88af34990058bdaf9454c01bccc08ac468e1c2a3b6877049772b58ccd32325b803a0fc4aa247cc1430578a006854dba9cd534d9824f8c6c7c6b0094219cf7062eaf622d17b760a83278e574a98966732d90a3f596c4991972aec3e2973faf811c9393eed6362a169fceafcc16e97ffed77af44f7c129697c643db199e0ae73dc40433ab32cf707442d51636091ee35c1d4f808dffacc50ff3da2b96f1ab5ac66462c71a0fae5634abd907f852007eb1fcb57c8df728eea3efcff91c0baccc11e9ebe8e5a0063179ab98a550a760a40f48befbe9b573c90d5aeabec9a70c49e3b141c268d675970e9d2513f9d8553ac4f6d5e810a2a0313d20f326b1d922886e63591be56ddfbbc8b429a6bca30ef28e806e0e35bdb157fc342e3ee213dd501229415c941b6ed505cf190f9ce48297ae36db92ee64bfea3e2c313d6ebd25260054a1b595943fd45e50f079d049722fbd8ae6fc8000b8887f80b4f9ef0eee9a124fbba86655acb6db05a1f966a89ad6c247dcf8a6c528efe75efaae2857797e8bd4f982a763ead53097ddee73e772921f4b464362ead71aeb1a61fca7ea4ad5e462f694069337640e268b6ce39897f9ebe47441859b83b434b5f3a963eaee9ff871a3e678c1214ca69618a3d5646f1bdab4b81ad8db96559869b1f94e57aa36229e9f337510eaa7a42a485adebd8ca9b6c5233aa17ea172f71458e43e219b182195919969732b44bc10c16452ed63262e5f00aaa6db99445c2fa8ded2536444c1e9ab35ca9aee8bdde710966235b02d7d080154e2efb5aacef14575946b5cd6392b9bbdd49d7d883b9ab2566cb075f5fe88b36fca39ca7f8f4a4fbaac57589b4e8e9e76443b59661d1b47e5b4a8d16c897633cfef60f234d1a31d3787500464b43544efe20b8489d20e0fbdaa91e1d03fc2961426d702d6c780cbcfbac888847c5f14dafec0af5d58c42075c400f864f4cf4c857c2c9a76a89db40fc263394b59c86263b9d4b7bdaaa8dc42b401f60c5d9490cf7554e43f003e76bf5f32ceecb3bafedb6fbe880a3d4433fe1cc83de5cd00fd3c629349f098d8009f6aeed4e0163770fd1515fa3d0f699c44af5f84cd61b0946db38f03d46ddeea2de40ca6dc651841778a2f662e6f593e7aed1760af60c1ac54bf4bf4aff9b241d5780c8c32d99505d9cd6907c05f9761db0319a7d2907d3a7432450ae4286d80256d64735806a808704a3fa5557ffe86ddfb3661a866521d3d733d8ed84bedc6480ff883f5b17026cee01a2b89ebff81ddc9614a2f478e0063fbb622a576a5a0ab3ab3650632e1749fc0b056324688aef08f6737900aa64c46388e4149a2d4653a78a5d83aecae9a50e01cd82a472ccf36b3500fc872b9d7c81f4b314424fd363003e30887ff89327f934bd355d21ea0495ef4d0efacdd3e232a2d5ef5efd4a4117f02927165ced25ca6c2d0e75b98ddab786d5e0834ebbc1fa1f37d619c23f59c48b037df82933a31f254fce7f2cd2e0e9752dd4686756e3363a263d58e7a3fa47df9c6672e578b63d73b85c91dcdeb9335863a03dc5d005c6bf9562e2103a918d503fac475e7e67f26519f1444ecb7f556331177db71fcb08fc44188b074ba2b9d974df71aeb18df5a4f0c085a01d51cd2b39bbd964afed3e8f5cf7446d6f3459f2bb73d4416469f26642838180d10a2033d374f6815aa7e933dd14773e12b902ea70c5eb80dd21f66441de9091fec666d5d516f074d112adc0e4db7ddf7b654ed40025ab127e7f8641de550f49313b6b769c51f3fffdda8c5d1bbac17ea20bdf58f22333cbdfa04c03c19410f0bdfd54ab361c86cf2c3734065bee41e686f3980de804af33fa4335f4e0bc9c6ad96ccf82b63b28d1c89d03895f3d026f20358624a15508bbef9ec028b49135160c39a846e47ce95368c36c97be64422edec04599244ba94e9678f6ab7c46caded949e12f137066816c54b4d7f2b5080e24b2ca00c9fcc8557f48a4904c00f0b599e2b764f11739bc3ac9cc3d3698699f5f368f4d05682b81959cc06e307c4bda1dbbb9d106fc8c026c5d36e788035bbd8111cbae11d23b95d76ecb50376c21a0c6aa4549718b92ca04cbd410ce892f0733634cb934d4ea2d157894c60f69e684acc330d260c1b104f4bae3a54f8cecf2b31536b129259fc6f96321fafa7f69cdcc17b2f0ff51a9f78cfd4b46ce99a4318e1ba927c1fbc951df75022a5f7993615de400888a848df99c2fb2cdacf5f5c9de08b8360218d5ab01c8169318272914e22b6d1f079758bf37de1823202189c3e3bee120660b4267445b43a43beb1536e6382f6793173097be7c991d8c87d684f7812b0d25ef8ae0aab9c916a0392e0a11dddd93374501d803f54c031768b41d45ce0dd7e1e4ef498761b6975fbea47daddd190e4af49baadbfa32ba0f9dc9bdbf7e9274d976b060c679e4729c68f86296b064730df0a4e1cf88c4783c2136f3e0675053419e2e0486bf6656f9f222da3c92674af25f4f7c598c15ec42cb8ad8815f770b09e78268a19107239c12fec8463142c9741801353908406e320e9e665c31a566a2147ff32e10ef2ffd57e250238a8dce96a75349406d2464e249cf2279be560be81f44af0c7f207794cb708cd841d77db7e25d731582ca56edad663eca67ae1b1996ce0e03e83c15c283b08665a00450cabb1126bcac82fd63fe76a54176aab1c772bfd487f9ae8be276c201c5b42512c1ab19702618073d15f61a441b98b5a85581f885c467b0bccb39489fb40c966b400ec303e78ee4317cd08c55fd3fcb0912229a5ee18b578e43e36740f97e0d7f113760493488d857d10a30a8d08a2bea867d5fe09d7e3ea0965a7ee0b819c368a32cf542ef8f08debcb9f4e1d5e4232726c717209a2222cf9375769d26cb02d4b36f0240582c0f0f86bdcb4b01cf4c543c3fc10ee0e1114ff3f2fc301374d2f6599b6a095596163b90259b5bc8dcbf065c9508fcc9dc1f7c18df61ddaf1ce5fef3d7ed7b31bf37104022677752593ece5dcd59bcc6ebfec4e16d36fe947a735ed1a0fb99942e87acae2f5d00b6f1dc6cb1acc987fcd22623cce69239490fce1bdf80f4a4da8b7b42ea10e7c5ea775500106ea17d46cf4877d06dfe984f348f7ad5da6b138e21f7adbfe6aca47e3a1e3e4b520db4ae7f7ee344dd79810f2a245ae2a1ff23a8d639313942a169cae20c4f9a154e825da8cc549bec0db6a7ebcdae82cd3849f09e0f4471f552cef6f05f9c764e6f251782c632c1fdc0d2fd2e0fa13a922aa325ce0705afe85178c7728859f59a4d21f1bd3ae02aecf22f759727c71891284b803cadda77aad6992164981efb264cff59311da963cab1edafcba41b02dc3e6cb22c028f762eb2ca21d717b3c904f06387712cb7863baba676a6ea82e2d827304410b0893b167febc3878e64d79c53c422e30ca40121a9c800912a3023efa8e99bc53958bd263830701d371b26d8d770552806ce0642493185746d560be53619dc7e0311462aba24e739e08556d5459feb512ac23bfa1b32dc399dbb4f5e27413e9b5588fabef21db3470c4eea61ae4825e7c87a712366b2c1971f05cfa5170b47c6149d437d8a08abadf1c107548d0a1483ac151853dc6f26808a6bd2ac4e7f679453a52cc92271c6b52179165d0a64af39534b67cf58fe4acf08fcc7e5c4cb9f7c23fb4e2a9e7713f8a70f8d2a5e36fc1dd2c757208635244732f5ab5ac1d76f04103e4f7a5d5b1f33b2ce6d8749c2d06d6766ca28ee101aaeae3f93163aa9b4353b3650dc7bd35030aa0ec06afce08503e92946846157e4abdb5993b256e27330e15494cd90204f622a6b5f3ba1e79e52127a61ce73c0a39b70f454a7fd21471f900ca166e2fc97bce99d0b9f1400fb185c61f1ca53c6d4ea8beda17483539bfe8b353d0a9c3c6e0a73999e48015984a158095a8f8a7f9cc7dd53872eb5ca85269854eafa28b227518245cedf9778cda31bdb84c29226457e316268ee62cde4e10047ff6506da2b4421b80a80545213a1edb54675c2b07e0f954e88ae14bec368843c985c55ea785abf3181f950db6c9885996b30b79abf3a1a767551a505f280cd7e5820b640d7a6152aec04faf46e1eff1fb82880740b14ced3ff196e10cf5c73729d36eb3e13e92835fa944c2ee0a715d1ead439c03f34701b11283391796847245f0290b4da908abdfd6e40ef46d9775a0e229050aba53006b263b30bb2f3afbc776c7513c1fbec1b13de6342c83c900c6276177f81853478dc97a46a83ffbcf610782dfc4162a150f002133151a31975419310eddc6bb0831712e38266621f449de9626fa4a1bc9da9a5e345d1c35e683ddaac1aa6b55fde649904f6a70ce09ca5681eab14e3b515a38c61d77ecb77b62d3645a09f1da1d951ca6f891eb9dda774ce4db560c1f266d00e7543ee1471f01bb8643884ebdc6bb1c84cc6d68b6f292d38cbeccf8253f30a2635a067e8ebac3fd5e784c8dc9cb6d417cea0195f16f045b1c6954760165348d392a3fb4c6bee9e8aa4251f38f7df246904ff722c6970128b389e7895c8b74a5725b27eeb798518845bfeef62647125c460b981dc8961c91ad0ac6adbbf94052940607c24cb9111d244547d51dae227f72560341c08f091ba9ce4deb309e313a2906dbc516b6e7e6075b5e0d6c9d98a3e20d8452e0d5fb3571b8ff0b83ce7cec6fe9450eb1d170b8046ec752cc6f22b1105ea2383fd64e49be2eca39b502e2ba604cecdace7e59edbb04e0e49b646e9adc32018a10409e57bb6f62252bc0b11e9bfae23bb0199326bca1fed776a5179ca0a75c760a3a856846bb4bedc13c1c92b7d7124c287c3f07fbcaeb6a6597f49b188046bd5fbd6f0e0ce83612ab694cf10d72df46478f131ccb4d84d3240f15c6b5c243a510d4255b9a3aac8b282a9a2ae1173bb69ebf20541cca1d68d7a26889044bbee423c7d16b5c2ccd73e6410d0cbd918929132ada8613f2b72ae23bf4177dbf4c608ac5ed5017b5adc43644320f708f3b0c30a93980aa87aa8f6aeeae1cb53a03edf6ab0974515a609eae774b39bd248319a56e88d8be93d044737f9b9d65fb4d4b003b28fe4f83d85f11351563f034cc122243a955d0c2ae66924ceb79f764845ce77d3af9471ea7248a12f4d3b3511fc47fa1815a097ba33c7c6b8c4371017b7a60be89e2b18572554a065941e656f9eabb4d268d5ea00b5ed1551fa3e91dfff1c92ef29cb9de34441fca72514a3186e0fbf3006c62c50389dbcf0cde58859f776ade839620265d9e23d2385916d1c63d9a4693335017f50d5d61ac6a133f3401de8bf4eddf7c529c8dd7261af0940399c91e36be9cb80fdc52461e8df5fbb86487337d8ba747fa754e278e45619bf34e1bbd4b6da406ec7bf3b29d176803f6007c72140af5a061a28adb284842dea8746277e4dd765f28e9dcea06cdbd195ad9e931068f83f957576d3bf8bc0864a4891349c36d979c8a8b324d77a15919b009fd17262737b53c40d0e7b87a9885a150c9779237df255548231dbb220f572f542ef20b71e4dfb65a0be3ab64489c52384136325fdccfdee237550202e1208c8faa8f93cb037ac6fb7eff559bbbdc9af2beabc4ec43f9b679655a83305abf0b496c81cc5b1b2f4d716b83605aa4febcbec6267149e1de2bd3dea5d1f38aac00d3824d7ae5ffdf9e6874457748a1659dc2e47bc937ecc8ef872765ef8d800e89812ea740913b23a3f97dca371201e40adbeabc6984c2de020472a85e46f95ddd6ce2070db88170323e5c7191dc7d7df7e443c297eb4554f0540524afa38298354b1e0c818810272c17ef6cdd45fc4ff4787f7614d0f6aa3294ce4ed361116fc8f42065f0b3121e6ef0e997b158e2316446ed430f394f8f0ed58172872b3dd056a9ab15bb762d354d2c405b17fa96cb603702753be5fd8e5e2b018f8d3f59b4e12db6c8a5e3a7570e1d1c992eb396a18b59f6e66e2c7f87f09fe049af3cab0a79b620c8372f930a5490ed54c02f1f34d30837af0b79fee775047089e5ca524d3d6f524fc1762335486325f40faf9957424c741ae23b30d5077b4c725281016fefdf3618bec2c5158dd12809ec0ecf08b38672d19f2b9b6c9f1dc6ba80b4847826db4b49b0d605aace5af38475e1007154e9def73274a5e794506b00f1ef73c52c0f7191a08e7e9373fc74e79ac0e6fb793e59e6db7457dc7303792c2cfa202096a2f28fb70f55e95de87c772a2824b473fe3420bdce9c09b2b0584af0bf30e5968f62320414f21eac44c6f75dc371226c6cb337c82fc37e5dc13d7dddf7c6d2e3e28a9c4235d3bbe74d46274cec46b3a6657e3b9b378381f74bc01e4443b4c3ea4610a062baa8a9fbd5723ed9c69553e2b191cad537343bb923c3d008794551bc6c7a6a41b63161906fc4e91a40444f99abd21e2623dc189d4e62d7527506bd4ab798ae9fd103d28ffac464ca255f1bdcff7dcbbc46a1bc2fc7ba017378443fc31f69488fbdb0077d12d45731dbcd9ad74aacc8b86955cd31f87be9188ac9a90280d3b493dd15db967318985b83da5d4cc878a83593876f25476dc18311f9ba62ac9aad02ba2880df3269ddcb472bca4407c3b97c21ff1938e273695df72baefd45c1948175e9a38e77c35175b9bea6f65538492882be0693c1adbdc5005dc5394ca3c7ef31a39db1087172f5cc3ff0e69398782677af2ac77aef9bf59ed241a9a481c611f84db3d35a8e4fe09fc11362060dc2a8ba2e0e153597433e294b2a7a3871a5c2ea47bd68ed13fbc934d45b0a931a68737e117f7656723f8d3f8e266b7e10ab47303fb7f40b837ebe6b37116c047ca1821b5d01570dec58a5041b486dd009b983e2444bc1a8790d5cd16537f39421fb8321a5ff61f581a931a219c6b0b5442eefaf29e2b3ffda6bf584c5f8689ed32c3dab249421fc2226e6e336d7eae19719d504610c430be48058352459332911559370b3ff7099c94c8d48324573b5afa65906f83dfb6747eb79ebe364e050096476f85b18cfbb2d8d1dd981be2e3cedc8517a39e10958e512cbd6c89a13ce4fb3ff225f1a51a4191239124adb8d53f125a709660357d5da46e74c3898358e0f9374c1213efafa7b36956f993b7f9a38e7ee7266ff7d0ccdc37e3fcaec1d22cbb1177e2c8cac226ed19c1a3fdbaa119c7332b7c20e52801d5ac25321d37d0f9a769635f96850a5c2a414c371baf3bcace87b3b0c7cb755d67959463c52a247d8a9651e1a6d55014975df4f9464bae2f61868b1674f626952f835cb5556bc8c64134a0ac05be9d6e0c645fe37cd8663c76708869d827a581ca90f1fb0eea73b2c8738e8b3b8a453407a83d85b83627cb1c4fc9bab119cd6c771db3bfe38dc2bc725d9080d3dd6cf2a38e5a979887efaa2ab9a3f4ca7f0142f9c6a8aef8c1281d7ea22f10e839b41d3cf7333b838ad25e785a6a7f886c29cc9285d2ca32af85e757b33c9970faf778fd0fa1cce2749cd564c97bf4c09e47ebc65f01fc40344a98964a6a42fcfc47d83014e6d95c2c4e2c87e892baa922c0930858bd00b98f108cccd9a0f8455b8df308121a04acf8ee7a876f885e5b075570ad14e6cfd97aa0657aaab56f9daf84b6dd3c0b54cb6645718e26d09c2fd2708c3b7240df493a20fceae0bbeac1940a5bb090ac548bb6fed10fdf224738d652cecb8fa8344492ec33a2a8828eb17b509f0a3f8e3a8be5360a8404cfe363c0bf1f90610db3fe4e1acdc4920600ee4ab945b8981d86216635238af02b0859d91bc60c429229121ee96c41b55d0a0209586d17dcf89e6b74a17e1c878cdab7ab76f89556297c9f847288b0f726836ccb7ecef0221cce18a105e8651611dfbee6c396784da81f5eed5cad48f5ab8e661bf4caa69bae3661d73d317e005a58271173613454fc4072f1e22285ff0513ede33b28ba2d3d89ae7d5cec104e179ef1a55d440837666b9cac575afc00193528ebba69339e88a3d38cff3bc1e18147ef8ae0b7a1294b0de3e2fbb1f08c4cf648f61df89b2a65ddb96abbb6bac7f2f8fb70c8de26e88df1575272317e286c1fa35f9a873dde7990b85cf9bf79f58defc91f335b44a823216847c6bec55de0234a09faa9abb367bbcc0ab9c9ec03ac536f657765097eed920c570bced438279e80a4289c10b9dab2b5438ed89cc4427c915c8a20cad7dc234de8199d38e8d380f1e516c2007a337d6e81f06fab6f3dd78f6f7f7115aa4a434d2683563c2d6b5f3623e5eeb2bbf41134fcd02f4ffebf3a6afe4eea01372a5f101df99f59b4d91a226728292d00a70a0c512e0cc8e380469a017e8fea15d11a3a72cc5ab9ee59a01e65c91965ed0cea677f95e58b936e094b7e6eb2d7be5e8ba138d78df3ba542f8559f1fc60e2b9ed32b994881c52c255fb4e8a586b855c10dc43c38d250c428fa0838a170c7cb6411604e07be4ce6f32ac6aea7fef072d72a110d8d79e77b55661c8802ba5045990d116b6b3294fd9a866245c909e25a462d10dac30494da261cec11859e470bf54c793ceb7b220ee76f68b20516b51121125deb1e8aa0a89fbc43fc572993a66b3376bb0e0d10b4397e11b45c0b6bd52c66c1731ee19b95041c3a3467f50775f3b6201063d2e7fe0c0a60bd1b650beafb3b8e6c34a2413919471c2fa1ee178c377fff527d426cf88d03dbd2eea68be30f1c04544eea19da37158ca6a2eb180942a7fa4e1e21212094ce9a7d03be311afee91681803226e9772ee3c17c015ca5941aa59c89f48295e98443c06fc018fcb3aa51b6ab4ba21ae911aa2a7d7eea807e4014b023f5414282ea52e9198bf8751be22b002d85b09ebe586c9f40bfb3b8a57c2e36dc1c4a7267e8af65e627b3103ea3c19f639ce73bdfd4058801f42a5e82d6107e7e9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855155cc9dc2b54b92cd2c82f3fdd213c35993939233a209233b41251bb7ef4b1e47180112c67465950ce6b00151381e882f017fe49a21b5c73ab1acade71b0156b8ec55924a7a681fa60cf58503fd66d0e3e66094fed48712f0a49631c3f4e4546e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555d72bbfbec4eea8501ab8187bb42b4d5d5ba9d213fa9eb1db9d9b84a8c41bd81c5009c24a80ff7a379c3edb036b2e08f606f4fcf91fef70ea90c29cdeedc3829536efc5f1e8ed9ab9c87898c5a79794f51c0e316f4c0be36a2d2dff0c2c48405ed3207044286c094095e7930c9db6b7ceda5aec8680cca37ea31af614f5d9f2e0851fdf6e10fefa5937b66b1dda5677c6ac2d7b6e6c5191e4bd1aaa23bef1d1e32b71cb354cab7b995f0e05efc525720d4d620d8b66d1191c744579730d007ba732187217221554aa91a8574306f4473b3383ce8e5b6aa7690b8459fda63ebbb78dc36639fb08f8da11dcd379f1f073984700d478fbf6c99cb83a8fd5efb66f2a0445d98c380233ee6d273e05bab3a4f7b914bb2c2cd3f32cba2b2c456b0bb478d9059fb14507231df4bafa6092602b7c8d6f6140a6ef3d73da0aaa8c27fa9e6442887086d077ad138d96787ff77c50fde4d7e787c2f69d619fad84909cd7d1d4769f82e66c1bd27160854e3681271dca1abfc4d667ccb435fec0029d8af32e1567671f06c07a2e9436d8147b86298098ab632c0f45d35bdba16ffb9ec7df20cbf87fa7c0207cdad4fc712e6147c88f5d7f00237ba5ca8d8e90b5f861ed74fbb2814c80b888a871fcb85f8d491a44903eff8e3b818327f7230a6d7026d1b2b61bfbbca386c5565516c954ed7da7a4075b16ab2a6f97a684f1c7d37ea3765658a15ff8d4360a1e22782c359ccfedf16242ba9739461217e154086c7c2d55f38314c98ea2d198f97f8746938cf21727046b39cc322e96cb37d0298c435187cd4b78ec8069585de0ec87a52734fc5161cc6fe2b7ca7f1cf37bc62d80d4b642f13c4c02c0cc89342ebadf26f5c6733db4ba999d712f44d2e25c9af1ea8ba26a9e9845f6afea11ccbe0e4c877b0215a18c598fffa421b638a559cee1783600fb38f2470654842056fe9e437610a52486fffe8908240bddcb159052316cce0f7c73f29656ae25043d2767038a0d37db78ea7601af4fb62eac211d7526d8d88d8790f7224ef88e29313a73f74573140be4a5156f4de9a5443b4297123db1d7e075b6b651c62e5895450067523c92cfa6ba81cf39b6c98cd0f558e2a2bb765a0fb7e1ef96517c3ddcf82ba92f1b5e8c99824ed9e1d6b1a21194bf8e55eae29d6d90a4737be05eea449c63c2d402daa49c0e7bc34e07473ba5df960ed9699a70cce2089b01837dcbaffa87d078f79ad43a656eb3fe5f39f28970126648fb38b254433567e2cb97e88e40eb5aa2ff0e3d39553dca45865f83a7ea62e070cf676b8b04e67ab4c487881bd3e84811b68b6ce85c0987980829601eeb88abad61aff78928e358b746d890d7cbf3280db9c302db022c64b61b559f4889ab826788f8be89b11d74e7110b0a1c0f4bad85d0c55eb4b81827bff49d56334eeebbb4e7d3d7e282a7742c412d22e4816fae5dd893f054ef2f53417bb22a7c57a124a841dcc41097b633e07332372f31f3466364f5fab88944c67eb5ca17160194eaa9ee70a02d4a9d472e38eddf2266a9cfc28b67e731b3fe0eb20f0dee364f8f01a49be6e4772007702d4c1980399b45c0624a2978d9abf6d48db70f199e46707bc749f5d14159872672155430b1d0453066903c78efdac7c4aa2277b7519a69dabe9f30d09674b4369f784e130ca349300a52a03a958321092b7577688c7e3f79366e4bccf5215aa3584b5050a4635261dc55411db890805a7f0130d97c8022d8c5abca7cf48917912c7aee0bc1512f241efc76e976f82d41913e09f108b106b1cec14fc9a442d980b6d6a466fa0a5f8c59183676bdb55b4f0ecf98344c8b0801878aa25139b9b7bea8288826d53608dfb219323fe2abc75c1a081ceba6e3a06325b1a070d8cb1454daf68dea8e17e0419ca182b066419dbcbc828880400ab4a6c1647b860ab2eeee70fa1df901764f48b7caa9163529ceaa0680b651342bdcc883066f03c1459a0934ec5645782122c24dbde8f1ca32057b8c2a5dc905bd6d43146f1ea69f89e56a5095014d3f320f58319e09b5460051eee1806bfccd57d49252ff62d8c89f7a5d3d880796871efd2a503bd5da9739ec292fff2aec268b16e3a0dcdeba6a2b5e881fd2382c5d1d7de050687e856770c052fba00bcb5c7795941f8d55fef928f07b8cbc298e6900073380992a5658e1c1aa9ff5992ca376f2bb370c95cd5df33683c4999d6ad953e8769a25565398145bf163579c85db9a038824447b1dee57dbb0c733ecac13474aa800eb91ec6eb96591529af2ae190f6d2261105c1aa684d72da80f9ac88f9735903d020f83fb4ef079a6270500b1d463d1f6883434343d3f4dfdd6ceffe374d8906b5fd03f5c01edbae291bfa4ce93b19ae47d8a2fd5753afbdd4cd01280ef8ec86330c1f412cb12b70781788f26b11e06c3061536c73e982e2916e451f8355beab207436f9d525d203930269b633f98b442536527664e9b1d2f66407d26942a2cc149190f12795f0db55f061200b89d2f96c7eb2169189f40da7a5e9b88412ff84081d86fe0db148aae70816350f39ac9fe6f577d4dd042be9fb7e863f3ccce06eb187330113d18a6ee10e386387a07c24cdbbaf7dd71a343ef649b721049cc4feee8ea39e327190ce1c634198e35227ee9c394c739779716f98db2bb8452dcf0ae71d80d991803d18f8b769378f8d4d53bdbb88f0fcbc351db1eae35fb394a9564f0c44055e2c3739130bbae8c643b7606bf92f5ef3feb8f40d788cd36d38cb30250997dd04769d1fba27022a0d489f0eec834753a3144a31766a9f9cc42609594ebbfe03890d5e21d79bdebcb85f794fb5df2cc68c764bfe0a543a04b19cd952f2be7041773da6c86de1fdc1aa91a75f503459170d6cda924fe7d236a59dbc38ddd7b98f295c42ffda38041ac5b316eacc12f86721b1aeef663a531e3bbf29736a34fdbc03344ec16ec31a285e490bce5618cc5a6431f8c7c73fe5c8d48523970e3f7186788eea3ed8032e55438c1f14e65851ac366c838fa59c700989f6da09ffcb750d890511ea6fef33166785204b4e83428b57b5c591acdd4762db19fb5d58fa1a20070189f6c65bb4a59c4532562c890c67c3c1f2387b426573d452b4ac49ed75ae91d077462d45ba3bde6ba0a0f7185b05e0e3df09dda405f76256179f0a20c0d0898996e48715689d71f32f4cbba40b6fd69c294b4c9a94d373bc96ee58a198c03168ede5b902528b14f47239339cc4e204f83f9360c52613da60e19dbc647c691d466812bec042f280dad64ae2e479946251529b943d1524bb92dddb0d6701d38f87b15b1d9f110a03bca9ac3111be2231bcb1f39c0d8594ee9c9d4763b806779702ea2b70912c41788f32be02ce051451006b27715ccc3d1d910390e040c6152894becaf04d8619f814e48e525ac5e36da9c0e3084e67d28c3e9f15ba9f29b8b64162c9d5af9034419b21bc849d700f8ac0c7629bc40b25ec5e98a64b5480da49fb611b273d61fa11231b93303c8cc70c0b327317c8a277a93254069eb53ffb137cbeb772448b77d744bac79e935a38ec56d32077f19de6ff43cdff80ee1ab290bb1c4dcd21620116a8c4b6f8c3e54f47f149aadce777bdcef8f56f6e088e157734c183af70380d31215ac97a4af324d9ce802488887879f3bc2935913da12e20b328eb00cc6e0b10aa2fabba4ea15a90cbf701bf3ff2a4c71a8a8f2886163db62be5492c9342689ae71fd0e6c82781c0188c972d8f2341d432ff42f722fd02c9d3e6c4fbadbfcc6823951b4fe5fa9ec24239a614d8871f51bcf540dba9663d21ae74a5252ecea0c527cdb42d4ff0b131d7c086ed098b5b3bbbc3f7bb9d10372876e300210786d134098b4b79f2fa52c8604902e843d5100e5d58b54fa1ec34fe3f020187a0237bc2ce7dc8b747d04ed25f4158401250ddd85092bf78e9c632c1f54c9426807b6aeacbc6d75cc7e50a4a2dea251a0eb85a6b9b1cee5c6e4f3f1275def2363e686dbe8810cdc77daeb7abca23769762f68dee9bcbff97d9f08bb9a35d1a911c932f95c87739289429cb5f855b1434c2e0088e38d93fd80da224f27712defba07fce13a0c163110ac99e43ebd99d63f263dfe1dbde72b2c1ca0d0d7aea400c423f83a1741b4dc9136d76c8dd1665fac4b186d97bd5ee625ce5e1b2099a1dc67e2529dbb4105964a2326b4e17ad4c03f0ae9d59c8af5445ade3286135edad15406550f1bc88fb1b68789804de34150f9e01481ca40acae9189acaa5e513be3a59b8355a11c11c01362c4d5ffcb3df84ec1e6e16c7e0c5471e6e5c857cc00ae5441269a8a9d4a7fad90c1179a27eb3b1f10d4ffabb872f0a3aa58cf4a45a76542a211c6d73cbde325a493ec5f2c21d097d724f23a331395946b9e57c47a8b41b30f135fad638284334049091aa30639447321197dff9d1f8fee4c61f551c2adbe64c692b4b07f7196a444e51c8c41fd30208e74f995b9d9d28f2cf8dfd49824235293cf73cb61c90357938ef3a91236b7b987a77c520a135b7b6226c01e7f197a19f82fa6a500a8257f93c464acc54d1ce4044c6bc5cc150034f65c998ba72a8e870da7339021f9c7e97f0a87157cd82bc54c72f3ac953d131c65c33cc0949cf9b37e033acdffce999038b7717ab4fa484b4e9d2aaab9603e41690944923822b1c0e5701ba07406fb7c0311be5952f54e2f6732a46aa15a0c4e3367483f4cd7ad4a740817502500eaf3b354400c54f51bbd00ea096cf1918597f5ef9fdb565899428e90b60b58e2d2e4e9263e1fa13a962dfd61b8045a4ce8abc15dd9c3f5ade529e9f953fc08f6406d118d297a18772ef98e3e83d4833549819364009802239449d6528967351d66e692b9cbe729bf1fdbf0046348d340826ea1ed997ceba98e591143f9476c857a8cc754ee6ccdeaa7df5b07a5165a458a7fb33a77773f84f7703366b49d44c84e4c531d834fbb2c6a73b79c4690eb0538c18118f035225d5432aa214a568b13df77eb8bd47531f42096329216d9639f863e12be5f5a311fdd49908601bd03070aa888284f1db86a1b9535f0173fa98d43d64cf2f16c0e1ea25cc30618693a4f574fe2ba0039922eac31cac76f0724c6ef83ec68bbe0d13720621be897cdbbd8b6a4877f8364600548e51e58bef08478d5b2ac0ceee91dfd65084e6f7b3552a1ace3815237d126634310c38181db5bcc9e93207df22e59dad8c7fd4c8deb5ae2b30b8b04f861b98fc89f9f98fb4aca935ff08ecc70bc5137e3e90d98fa2642f103bd73416366840c40bd6d8ae3bc4cbd1b4aec16f8dfe9133028054d0023e131ba3bef93d828e36e7e13091704a741f79927631a6b659003c2e8dc923982627a4f3849f25a75a16d6adee22500644a02bbe6dc31bc29380f5a223ea904c614f14ef8c99f1e04839e384b0a097b8639a772a5ced7c02a13a8d0de74f32a54faa310402725add3657366e7dd948c705e6e964461c9f35cf810020ca121e68ea6637fb059871d29ba752dcefb6bfc44e6224c28705d88c19c5e31894ac600fda773980d5f6de102bf041cf616e722630e48553306fbf20f762a2cbc1a5b915cf2f89123264af5dd79dda87f670a095a750ea158e83e59c5f3e41af9f16122867e1b3693d6ed34c50a9ef4d83ac0500f4fb5d5eec5056b19ce62cc3352c6cc4994f55e67cca3520318abbd3807f6e0bf3c20f7f76022dc5b9a415c827935de0313049adc7b38ff7aaa834ceb1c9d10ac40671df8b7f891a44ce7803b65fcf9f45be1571bf973c9f0a7bdf6098ed3274c879d2ad361299e7187a04090a369f8a9af113a0a4ce93781e6a47ab7268e4836344a367687b38bc90c621d9318793f665ee0c2e94b5ef0181afad00eb642e76f7e6f3c2c5b30be07ece8a709a7cd3bd447734ae099467d617358a6201f673c70917cd1f02539cb4d8bb590f2148d5817481134148c4ad2f704254f7caebab6c02ec4ae2a81b53a44c631b2fc2d3f4fb75fdbd6a22056dfedb4375f224b8e26eab06b067617d62949820c6feca9a2920a37430513403fd9a570fff54f796385411f25cd8a2d99a0f8a41bd6f0d8a617419c8a812b0d3df908f4af818ecfc960c3de67280a04809caca13f253fbff1599280aa88583c4383e82b9f3dcdaae9547d520c48186e80d26a189be73e25ff4909d32f04506dae8a8a3c3c036f41cfbf788ec6db0059df06203d04cfb14303b74b15dc9063203a48743526bfe03c4bfbca0973d613e9afa63a12eec6c97db665b870ba4b0bb3fda8885681c15943eece32651bde43e5b03da37b24a66efca5e3825c6b9c350d367dc951584a7cdbe28f0037b6d6f7abd6854f1e87876cff34c8e04bcc1c946ac6321d9a2f1f4d050d0f477abd6fe3d8fead7aa61089408767a022a5121977035455db92c997b9b4c6caf30f371c1bcd1146bad3e65b2dca3f60510ab4821dc9e9fed07864c095a9ecdc500104f51981bd2a1ae676e4a1360dd586e75390c2dd591f105ee2f36cc1eef7d46178cf62b590a7dcb6dd783798d8319ceb476a8b48962cf23959125cbd98518d0916fe683000bc580fb19994b557dcae950536984809fb28d4da90d89334c246857076991419bddfa3d0c4b4e8bb163b4be109a1d0e99455249e950c6c3897fa8539ed98fdba3d1d6e25ae58cab69430f98052d7d71bc59459c8df3508b76bb539896ad1b5506732fca223d10f7222c7898b034adfcc2ebd697e9d7b054b8fdb507f388989b22849f835c504789a0e48c832ccdf3864d8ab7740b3f4251b0389cc5225539c0d653d98f9ffa2f608c7cba7b8f8467bc3a6d70109380ecd5a70f7cdf88caae94253fcfa7a470591ff7d82356e326ed91072f19e7dd55e811ecaf7bc1b78ebc0aaa5c488ead9c3a5123765186173129998812e0da58d7b55017424dec3be223e2f5ac41cacde4e46153927bcabd44b2bcc6cbf571713d0250b9c598909d0ce1072158015564cb69b6ac452d55c87627c394698e9d74a0c037770df536d5d02bcee7e16c7937e3c669338f6ae50ed49c30cfa4dbe82c9c85e9f729fb64dcff8ce644769be9fec2cb13e75c00242d7552e1c39a5e993c9e8144ae6c21b8ac5be2e6c49b0c93c77a2ffb47daee1ab5d6f528c1e3c5fcb93a87387ecf234ff4f61bbcde5fa8cf350dc75e766524758896a5ebecd6d3036e14c7308ce16a3d2cef2d6cbc5a4152f785b0ddb1c55d7f1421d2e51597d41daed33bb8a909e81c9a3d3ec61e0862abcb4e08aaa40f4ca87199783783eee530cf776056642f03ea4b2e95a4f7e0c5e11fa78b62dbac0c4082f7afd10ecc8fbfd1edc3d378b45efc07ff19ea85d2d2ba37fc86fdd5d8bd555e2faeb8bef2dac7bb3415b5dc07c167038e89d0fd74ffccb31cd6019192f06696c1ae8c249a67a8cb5812069d3af83ac6c77d1b8596f8d297e093d257fa860b74f9dd513d599449d836c9db28c1f6314f9d2b9792e3af854c3678dbc896f3765af2ceaa176bacd721e17e66dd8bc9a2fe4775b1b8a041fcabe66b2debcd5b4086dda38f09e6f3ded3cfc87eb42387df51d97a2304414d809a5ee08eaad798c7664af1ddafcc20d8d54f62ba5db91b41e9f9265eb273fa5e3a6667cca42566f6dceed048bdfc72ee62c3eb08b6907a0754d0e10cab1e14a989fb17da3cc3916dc277922f5e420817975e1a83a3849298c803e1ddbef684a0612739a58e152884d843c146e56bf48174abac805ec3ea18eaf32cf06c2ce22c759cb83cedc35fd4f40fefdb988b12171492fe5a55a014dd2aea3216dad001826277a170ef385fe43d581f8206a6de093e006c1467614f325eee8f5664533de38ec110af5a9813f5d27ab2d7eaaa4285242247c0eb89d886a099b25190f2a86cb9deee33fb792423b0f6a838e3aa86ab1eec9eba6a78fe94e14aa723e10ab90cc76e26f0396713c0b059666dfdf8d3885bc0812386020df32b04bbafc85ac5583fb5a5d0a8f27eb3f0f79164da0a7d9dbfb105525160b7c01dedf00671396e171f50b12c4a12badf8d1176a715a1f37bda2c334b1e23b18c8341e07d2a556e552fa3b1eb5f22f120408daeb11d3ecde9f94a81278f6f3848a4c2c81f87074877f36ef6dc3a5ca155fb0487b417bb4bf9fba48eb0e2638297ff6c3cf3b0c509086f63545be11fde0ad26219474578e0401b5dc763ab3af568e882c8cae9150b7bbf5c35d44700a45ffc330adf8fd5600e5eeac309afc95f0610410d4b64e29f2a09eb55474bebc873d48aa76eb2c435686a66b2c1fe57366ab1c7902a24422c2efab6b1b31f7e419e81e730a3f87fbb63a5c49fab133ee2ee4d4cdc87a265c9124e45484b52a004364b47948630480f619394aec35d4d6b2d820f58602f6d2dd6e86960d73c44099682d58ca41bfc238d2c6c4f54d2226e6fa00b64d8e27db573083663e84c65c8630e077d55e0a696d6094891bea1c91ff96814d9e766d8d53c87765ae448dd441a82a944d5e5d83c24fe2310891f2a4c3113cf71b3542cfb71d3b0ccb0127542dda24507866a290bfb929b49b9f177ce1dda703b26b79c4b4bf5f8399f3305530a874387554e04b6ca28a7713b746d7632cce5abe90ec527a79004c35123dd361c103b308528dbebc7d32b608bbf516fd81e1d4b26599176e0b2db0ab207aeecc9a43b76139137fcbc224798d9137b8170b461ac228d6af6a6d692ba4babb2aae5f63f2c6e18e084326a136bf4a091f6caf83d2c3896145180bcc556957b8e1d1709e5d16afa1b9d03a7dbd7d1e4b03112a63e14799810fb338e9da129921f57838030ec58ea6563196cea61a79b22115e26573571e16f5049fc0de84a3980c495a96734d37a20230dbc510ef673425da37db5100de44e86d190a607673cc2e8f4ba49cb2627c4f6c4265f6dc3b5c9c02f01b15e9792d2a1663fb5c632f364a87d12a4e3ace2954e68127dda1720d050f3f81b770f099a858f0f3fbd8fca4b0f547fe34219283e0fa8a5603964dc58b1f5f24a36721a6a3d69ff8f8dfea1a91f6808584f8cb9422acf32a05ddbb1caf32060bbd04226a670f91c25866257bae6525f8fc653b997f34a2f3e24c58b84d12ae3fd4375efec003525e96187b727f45972ac8d22e62861bead539a9ec51a216f25cf1046cad4b2ee899209d360199abeca57c5a0823447ca1847cc717216f165868830a6d149b3f95c764170d84e43cf3062108d13f86c55ef218fb440da7d64bb4874454511b72aaa91d63932564ae27eaf86a6bc4cdb296ac30e4b868f965f8837223670c4a68573306979dfd00083d8a36cff02ce1149424543a7d355eecea06327fde6049359e77a13920b454ada3d0070321cb2b05427b3ec907ebd0538327edf1aeeb58bfb671ac8761d9a630eef240ca3f0eab89b950254dd843b9b9ce821ef66670ecba21306eaceec38a6adbe6591970e046879b84b3a5c0431c74915e408d5daba9728e62bae9aeb0db8440c8b29875df555adf635c7387a856a0464a2129c42ae471c2ea0f0fb132c9ae209015e52cac7a53cdd4fc40bd16c6c4d986995d48739f4613f7bec0414a90ed1a6bbe461b9667a9c14eb95b7b77e6f3d4e1c7f39cd3d4b971ae1c9e5c1a740a628b6924168b0d3f944a8c9d5c49efb5c9abfea41bfb7c88cee717c3237aadf7982aa1569f1e5b8494f04888c0e4def07b47b98e43d188b24021264d56d2c6536ddba39c95e36da62bc144a1d65f33177df6e03112ae979d59fe0cd52dd14765b59704314adb6c9fc12ee1fcce5442bc4075fe873f90c172567ad2320865559125071f9154cd46dd0dd904061f907806bef065bf0d8de12f9e92595679f8dde9dbc97b082e272e65e3d912a4dffeddf2847502b09b978b297ff2105e430de0ed66a049c6f2add6d736d1debd08091abf3db4e842e497feea34d165e923cfde2fcbe8cc24a061c7a4ba2f07bb0a2ff571e54ae560d0cd2e9e1503eddb3ea473917e446a67f6b9ded218375159bde50e6048dc21d02a901f705c5d43ff0166b047607e86ee27282e76784065e90fbb2b2ca0461f15eaa63e61d95dd18f660dc24da744843639a758c62e29df5d34f21cfb527cdddbda6c5ba2e62b2d3f32c0664e6362d504dd911988b3c2293e04457c4de4500dc46726c55387cd9de58265bdc61754ac48b0562cceb125c1a5d3670fa5a47fcc4776f4c6d55bd54e6b396206e3f716e022a16d5c51b454346a6f94b78d09dbe8b59262821b866dd1e0da9d6fd26ff6a3c6b6058242d9d4e89400024bc30de66e39c537f7fecdebed2b48c867d43074879e782f98ed67c5c30859d000d9b95a0cec9c1850ca74a9a9197cb6c68a025f5d172f142742ee97b3c83ea80cc89a53cdf3c09c8c341cb57ab37031f10ec4795f469749a3d124e57d465aff77ad5a2c4aed0839c73822006264daec877d674d97626c65ca83ec9610546d1a9a4cd7e5fcc82c2d8bfd7769a003824b4626574d5aae9f9c5321f6bef62585b886c0c256544ad8b71fc9babbb72150cbe83b7ccb1f100c3cdef92e262912453bef6c7d3a3b16460b133d82d9665326546751f4e3387b90c59b33e8e1f24b6ecc72d1c378230ecb34a529d04a9894b4e9edc348b2056616a0995f5f1ebcba9be3a7f581fc2ceea511af3e83718028513a5fa76d8bb2b861b37fe69953ade6113a7dd793025e8db08b61bfc2a99b34cf9187a06453cabfcb30db6fdab155224e006b9cc4598db482970d2374dbdc700fb787e55d714f4d358ce877cb18dd3471112f3ff45e81fbecf5c80a2a2bfae0ac5db3f5d9def46a3c73755d3c6d6ea9a92460ba42c1b6675edf5758b3e379c36e467389a600d452b6e4540feb88b24c6a52c1cd0f9b09e13127c8a7b215bd100bd7f3206ca718a1ff9b5109a7afc546f8979c5c61b0f60a0ab03bf3762f71911ad107d3fa6988212370f523e78a399edd295693c9d2c23044697d9427d40f83a15ca5a439f2be54bbd479b264e49a0dd545eda85131dbe74863c72c0481cab2b75462d92f19ff34e3a4f639dceb3d73f1b33286564df95c251b9ce5170bb5d6f4afdd16316dffd427875908d6f5bf24f95a22f8501e95d7222eb28a937af5622274fe055087a47d99591e4482ea48cb4b5c3104f9b1871c890ffbe179ae66ae5e7c80c38ac0fb8f100ebadb9e6c2bff082f86b31e8a21829e40856dd7d89e4f96ba7526a954a987a42a98e8c71fcc46aa7aa3943c368b55bd1b3907851990d490b263892d745e02894f80ea46bc12b10ab932f44abd18d9af0390766e749499543b6eba69a60c6b561fbc21c94190a4578aacb1d13617006dd9c76a66c8636841125ed394572eb8f1852d61e76316d90e2947497d4ed586553bb55b3224718fbe50fa06c8f4c24408ef4b98a7fa4569ba5c9c3f55bd28217f9fff41f85037476e3b26c910221ecf4871e499efb4c3bd6b4a67e9c1cbe6c6550e4bde6177172e1222fc8e9a4f6027ffc0aef994d9395e8048409136593fb284409a092daba9eea84d5bd62192d2a3dd122a84e4ec5204680d9eadd212a3c85279b67c793cd95aaeda418ae918b90de95c74e837e52dfb13b61a3f8f01e45be721bd1c8d465c410a3b53eaeb382e2de87db4476681862554686badc431aba96d6ef501ed9e7d70de8c3e314597d8c96402b86604fffcbac0f1d01f657e55489c64c048d24cd53ce7604a3c595801c57ae3c415abc18f8cdebe1ae26562250b74790cf1fe65f76d74c3e5cea25ed4f19c7c72e62e8224568bd4356bf36d7f8bc72a73d975d1521bf3c5c03d983ea172f634e7afbdcd5e92c88c36f2e585927802336a25fe7b537b0b4d7a04d1d478a46da1f207e199a51d25307c4854c91f913917cd1837fa522610f249482fbf4d35694e494672480f59d0a2951c159874c0fa3fc47e9f2368897d1c175750cb4d93b81a2c3773e0362355e3935a18cf839c933a09bd742b74f850a38ead416a0c6bbaed2e2de7256913fae0fd522d986140fe8ae0bd32da7a4c6a3b0d9808cebd04a3abdbdc68e0dadc7a1d064691db5c63d4b342e1db56590275e81ffccef24aea34ccced931020eb72c9cf20bdb0f181d73288d69fc03b05839beb4bad089153e649f2d6d40cd4f4885cdeb2c298c21586142d28bfd636612205b2bd70e1e08ba38493c0204e0acf7803ef673b4a02412cf15425c7bd9bc6f07c680b766d6450c5de637cf2f5f91fb1e4e93156bfbb28cb105b1177ebed7178b920de7afc2a4411c4f33cc189533aa7acc3ae7d4dd093b549193f6fd77b91d03d68c7f4405ba4d114b782d1095d83639b9f8a5f99d8ca14c001ec1737c1ca590684f3829365a9541ebb9382fada35192c0d6cb581d0d3bb5c018cc3b52412e6e3b5454c5f7e145e1c631feac294e865609624dca5f3968d84759e92f4bb540671360415e2d8cf04419af9f565444854000122181928ad22927321858d5b3858b5e317236d61c714778b4f43bcf894f56d70bc16351026972051c8a417fc49b45baece162d170ce4f4583b29e47f8155d76d7d861be79ede493ddec0f40bc9ef1dce535386eb3e2b51deea4d7e8fe3dcf0dc31e82663a87defe3ef48b1f6e0d8fc43d2a599d27284cf40bd6dd61400e6e3729521939cf4b427c776c67ed929838fc92d56a488ea2018e5b6cea628452cc64c03eaa36a787d9cfe43afbf6c3112a4b45c47c4f07fd23e5051bc666cb913212c337439ec65249c6952a385f4cc1c9d77b5ba38f7ffba769a3d9f75c67ca0ae50efe36f7369a6e249d84bc72e0c4f6a39315a3b67aab376b235cb7b86727bf6e71a57513cd9f1bf858735fe1f32b52ac26644921fc404bac5418871d0c62ebe34c9c924840cbf82a8beb12f5244d2bbce7263f66cb1a8ac7a3b556ffabe8374e35746fb6ef811e881d0f9c789e76385c07efbd539502b1453cdca510a336424b42fec3e57d2d96704a1b58d483c94fc52152e1c3bba24ff8444bc06d47f3b62fa8d579e83f4ed0827c2da7eb79dc1b0e3872152af05c472866f0bf6d55e1db9a8c2cf69dce48d4ecc58f6809f03f249345f16f68c98cfead4376b697757b7d6c4516f9a80bc7a9849267f4e78b200cbd7d007e1a14b11077db80ff99a2a13dbfa6145a7f549f85631bc9f31898137694c33b43bd9bafb0726353fe97c455a882419841ee511056f3279539b7e72ce6e908aff52db157293868b0af1990931640acfaabaa87b2f9deae7f5a1c9361f293e7604baf92d87f55af8f7429d471de947744eb01790929fd30eca2123e90ca48de1284b9285b47ac65107c91a36395b4f36dc6693d2f86e4ba38a85102a613184d4c85701c6f8cd9b87f04bfe341c3da49376bc0e72a928da0c183c0fc015405cb16319ea134f21ae122724f97a861e50794822b2ad0995fa28f3cd16f0024c6dc588a9adb6d7c052e0ecdac6bbf068da88159fab5358c54a4b8d02dcc3cca4a41c3e62d082d756aa1f17bd5fba1d790a286518a0d613c612d56b609183c32c4408e9ae20237543d0e0f52148833a20afcf8e8f30de63ad32e5d16a4c9fd008d52bf3886ee0aff122c01322f4062a6d041910bdedf8c2bb70030baa582587726244093aa5e9e1f689f52026051b108d35dd8d5c0adbc33d53544dee66d4b5231a38c5b7af99ea01a63e3fec4375c44abfe32df8c83485614b97553951018b87a25b7aac854291220712a972833d985cc157a67042a0e0379cb7f33d8ad70dd7842968505f0ce52fe326c6bfc6690ff5412c7bae045b8f6266abb0070d3a88b30f898331ea31ae12c08aea0b63ae553155119afe007705ad1f52ee34a8b679b5736d651de5c31677a33f8fca3fc790eb5aa744d6290f5e0c9be50b02c58b9da07b819eade13a29fd75aa0d024382613ecd84842201114e6b7f6586dcbd354caf8b34673e508bb62c284e9e915ba91f2a16bf8551369997307c4081b40a5c7f065299ed2cb5c2729f7688070942c44be1e94e4a5a9b57c520eeda95c6a270599321cb8a21895e580fa60a339f81b8ec0d633fe9d98d88dce1f146f7e5ac28bdb33c3ded0c38901d24063efde426ab248553146e4f8cb9edc5b50860cd0715b2e53f2e385d4902927dce3031a47013855ffa3dcaf6733e884237c8f8832d4971969680a4ab7b18b31c84d7618352057db22a8c1f7b64e731c419a6a74920b20475045776d43d84b81c2f2dbe9c744a4058dd834d5c169bdfb6bdf9b37d90a1e28a24335809f7c52204cc39d0d8785aef1657350ae6e185f8aeb3d1cb821c328d494309f7e6fdccb073aa0a9171e9e0df85bb1158c544e67402c3b96dcbc22d5ca64bd751b986eb3b6b34f0f7aaed012780e6fc349c72f34eb838a0387427278ac62ebef125f6323cebf274f548ec862dc59ef56ed382aab035a42daa8f02425e7447643740f90a465d116bbd51edeea31095b6cf2bfda42386a8d11e176bdc02d1e6929bbd3dad05a412cbd6a7c273d90623ffece96a21133121190d1cb60f64a040b3efa0bba0d6ebcde63cc8729d6de848bb5f62c464d6f00d12f338bc9ba40afff324288b0ddbca4377e5a5614172eff43967bd8f2d9ae856e9f9be499cc02ffd0b3ff15e8a3099a1c0f3f3b68b4e866b7b61572bcc907021253258070682d4c241583bf894cd704ad59e16d8a33562894b8d8489894c914910c88e4d1fbe5de082ed666366b79cd78a42e13a0526392d545be9367643b205b6b89d558a6071816bb39b60738ca2a43b44420135a2ecfba6ec1cafce832ed0f6a90697701a9a56ad30ccfcac79c15232a9995e0b65490fee090063867405a2d858642f1981b6be71909ff65f5109d795c5c75f6fe3aedbe8050bcfe1da97e6f0cbcae0547983b899636d16bff565062887787796998e0fc2ca254b82e9e482ed73538cbaa946a25017b42bdd406bfcbcb0821d1451b4445572b874182e3f490f0d15795a2eeae8818ad26ca171aa11af27d5b8441411b4f7ce0dd99d4149f63d0d755bf5cb13e046e8957cb12421d02514884eb94cf22d22a04358406837425c87514123f93a724126eb233601dc2e2fea156ac6b2767aa35e781c54b454383258c5ceff9004db1ee2b88a3ea597d36f5819dfaa7feaf7f3eb56f6308d9687e5a7ef8523868c1cd46fb0ea60a53ff0d04e03d46096b5624feb77550e9fda9e3138ca00124e1111c643dc96d3ddc35d4ac35db1fcdc261936e7148e95cec7473e9ab8fe463350e2d9dfe71d51f62162a13ca88fad930ce58424f8fe4aa333aa5a7bf925648e21d4004db2ad341cd1196a53d0716dea7a4d70f5428455981c40c25fa72e54436782587a3cef93e686ad7ad4a5a24eee44e67f53ffd678240dcd3ffd538a3cae3fd02cf9c546babc0d184e1571d0dfa0450be1fc41820862096b986ce526f9ffee6c30b20f6f54cb59f3e1dc1b38d14760868272451efde2dd53769294114d585aabf83b470619cbc4270eda66bfb9832b449291e58ee1091f416becf92c7aecb2aafa0db33c1e1c055abdd1c5b8207726cbcc1eda106488e5a8b6aba8d6bc9225bc287038f6f2f672d1ffdea2332e173bbe61884852c466531fa80471f5fb3896fb4863a5c66c3d4258e2d8b333ee5eb6b9d278465915dba711efffde79b199232bd4560fd64e34698045f3d3caf833f54074878b75318c5411f9d818f634cc19d13319d74df93f34b7740b7607887e855842868dcb111ee51efe943e781118d3468cbadbce9f27632d0eef0f4a7bfcd86e5bd95847e7236925b585ace6a526040188df1a7a4924f4ebaa42dc416637b6fb22d173290ab59733f48ff907b26c453191115a1e73dde2d58b06c8cf6d06e8098e1971de3c98524a235099ed54f00114fb8e78da82a87c172afca4e2b52bb6d34eb42a440512f82c33074cd2614741d8befa78546e00436dbee9e0f7ddd63a859dc78e6801b1923b43a578c59908c6016dc23a7aa21933607ade2302229573fc91d9afd8bb5f2abedc0aef223a8b046aad9e553c0888c5d493005462cad831bce6058706a48e31621a55b5991a6233cdef5fe221c31c5c68867a71dece150543f835eeef0a22f16a778d947fef8c9a754e0ec837e6d20493f471aa1f9acb716d835debdf118479ae7c68824d100880381e511ec7527d18df2a77bf83cbd64cd9cab26e72d5f5c7f9367026b64bb1e34f70868adc748bd12a7a0f56381225f41c85ad469c234fe1dd3b9ec4a50c94f29da856273e6207287bd5abcc4bac7282653b3b6682d33a5239e64a1ffc53ee7f2beb9d087f0a24871f0a94f0633ce76f4909103fd84ab12e03b2c24e7a4b2e09b7d6173fe0bf04137b40f0e78aa1c62f48b40626ed7853a208e5243654bd69061d4a379b9861f3e73839ad55bdf660bb569f0b81f46cc2c6dfcc9de6dfb43fc21e4193e90f82be54bb4daa6cfb188755bca7c35835f939d8f5f538b952922c91f5c9496f4adda8929c731d6314b0dfa3a5114f8f897b458c5cb557156dcd2de4a95b5ee87c2a1708702588b8b6cc7f3a972b018772d9cba325d24f6bc5ee0cc94beadbea8b6c4ec1db6fef523eec2b579bd3c1b3fb5927a199dbc8540666f7ddd5d18c924b71b8bc8980e3938e638a52b69601414247c81002179f479ca65a4e7958ecf7115d1b0ef65c4b60c32e87356fd0a52c5f4fe6ee1370bfbcbd24e743f4feb67bd777f8aa8a7bc4096492f349030ef3219f34a8de72557457b7aaf808ad27694a5741ba33f1855b976fa2158419f677ef0c6e356bca2b33f65ca3b11e7a96440d00c6fdea407d6c3b1d86ceb09f03e8cc3f65c18345f431ed2ecddebe8a3ddde6605810482e70ef69e136fd95acec25c4c8bf0000014b36213bac0d104db030393fc4c10df0c0bd160f68dc987272d5242dac74b0eb9dda1f32b2f810b6bc4e5be651c2a9c41142be092e71ce178315ed02afd76a4b9a088cfdfc473715925270bea37d242ee0604740afaa9c309aeea0b0ed96e1c75ff7ab6ef7919555a6437571d4e3a1aefdbc681248d652bc5944512cc8b77fcf02310d199a4979b88c98bea17ca0a6500936e3a4b57c32ec18ad6f44e2249ed6faa8d2b9cdd49cef12df3f3aff845b4d89c8e48e02f485ea627e46bee54e6f8c991c5c2f10570ef8cf7aeef04a69757878e8ff14144209e323c41690e662265954fc2db318e3b932431bc806a1d8e89379deb2b8d92442c43ec4df341a70ddab8c4f653a119ccc1e5e0ff04a0dceaaf2bb761754e2554417a1c656124e4ce6ea1055c961b90941bee41105ec6b17b4e85471cd81ec0933d834701033ee03cbcacd607e70e7e031edb77ad8e96c165bbc250502dd32f8170e9b5dfbc3b666c9d47590e5921d7f0b64ad2e39e6bbb33ceb8da79781297e66c96e5ffb2f1e03a76bf7ffb5c95b4b02b6be5ac193eee6254e983abe936b7679779a8b8d404edb85b869a9633fcc0a391b16de97e84f6741d0f6a75601b5c6e60b8f401cf72de19dd8196785c072003711f5e65f2b51bedf62ad0781f7e466966ca7c54c411a8c3bf1f396d9f49a48749758de05375c1f7342407090a975b1ec309107246c7bcb6b9a44109892306a8fa3a8e3c18df3fd3a72e870a09749ff4715d88acd427d9e12d68266eb8d71505dce674d86ca5131a7f57271c1e0e536fa961123d3b5a2ecbb50d28eae5e919dc937d976c2a20b0fc0dbb9f94ee76626dcbb5726fce5ff647c1c9acd17a3ce37d1d1966644935668d960752bbbf35e1936b0a87c876b401638a6299fef5755e3703f30820295a5c8fdd50a42e5b12d89a5ec01b97ab33b8975b23917fed0d711860983242d4f8b71be8310756ca062060d4e6ce5c367469da123daf4a4f057fb6c831faeeb0d09c64d2f715a2ea7517f9cfc2059ab709ee8c4d9b13b0b3025aa7baa0e23d5037b7cf69d7ea578329f8a38576b2245236987bed05a2347d0423cfe26f48bc73f59c3712b366c6a374d22b2e98426d5da91c4b7b2340a6b3449d6bffb289890e001f82f50390a2a78d77111182da32fd5973a92bcc417f3fa66112dfefb84f34b504c7a9b6df14d3035d15fb0431134af001c155df2e97a07b2ddc3ed43b9676a5833ce7c1f7f18fbecc64066215a8b902ba8740edb63a950c073963532fcebdd9dbfe8f3e9dea2b27e030b1903690200ff619b80dc542c07cfb3adebf63297a7b78a685a2e044cb35e2146065f0892c1111bdfc9bd2e109c2d6dbbda6ce333c4e68aaef38654a3c590d623a287f62e37f10ade0191d0d5b8abb1fa1098158cd3f9c2bbd85b493dc07563512c25539bdd14282e2befb978368db6192e55ec74f6059486ee2863cb10e6a227b883b56add308ee9ce1b36ac1e46228528b3b9c455d9f6906920c0ed5071d5bc560550ca3872f3679ae6d025accb126a68d0b7aa1bbf018524a48bacb38c141774423e18360ebebf3002b9523af054bd4fe3c6a33757bfa8528d5b4dbc754994bbae5439d8448a6b7146894393d14df0e920513d3859f1f052830b0a8decbfc0cef1a3ac1f7837f18268477ef66e42aaf467a00c0a09d9f2734b2f7000585ddc552f3c9613e4b150395557309dcc2605d8c83756e8e533dd374115606a431980f88bbb62beffe58783756c9077ca7ecd40bd01e5a8fc2b0538e4257f0c1ec7b30be6f44c90ee19fad402a7ee7d40fc474026e6c4fb79fec10cfc1624fc7922f93f0e2e2ce435f62b0b3ec8c0745b109f59db304f644f385d2e2e7371410631c94b4ba2188ba3f7c23fbfd786609e40b1c530e11f41f32d67553e059b9853cd8d070fcba5ee8281ba2747e57fa2a1e86202286def8c302f425720acda0c9d7d093fb1e22e1c4350b58912c54c957c59203a23142c4c8fcbd68f098bac214cc47f76348375c57f73c97ee080c5c9de493f5aa29c06c39c2243f42302469accab3253262b12def30791c3d04c842eee629aad44e77dc89d3c4de69471a74599642fa07ecf622f702a54af7ae1fc6f3719442c17105f2f195175bfc6cfdf99c36547c47a5545f58b1f332e076be2d77b9fa4426a62c4e6a962fe8e393519bcfcc3e9c106689e08104799c17df02666c9620c04a62ac6d07ea2ea78e2313344d910dd3f54befe893450450d95f9056617e5862782e48ad282a8572ebbe966e0d0375a4a318a8ace0d92be3fd6170cdb0fe0d810f37be5201d153cd0305936bce4e4301535f267810293ef41a7807a0369441de320a3c8e418bed96f7695e27bf50ee35d00dbe148dc7cb141449c80116e392254e09a003cbabbc4bc192c870570ed6de50dd7a5e45b5d5f914d3ac802228d2bcd54dc127f9ccc733544dfe977f50d39dc0f25b721d9ce64c1599c710e3ca572aa12238e78eb73f0f8f3a642ab2ea886e3233889290d11a67c819fddc7ad478cab6b637e5e16b5465aa8d0f0c23a6747b29425b8b13c1d0fed0d3cfe31c14bb7f2bfc0affbcc5b4d84e061c6f716867f5507e7e9e5d845f0531a94757bb08dfea11d6736f32090f5416861118f8e59287726dde7029e4fa57468e04282be0ee4f24e0606df8b2be87816bdae20b019e9613bccc4eab439b54b004c7a51ad0bb79d3ea5465ddcd5cec7cbd9f498a0108febaaabcdadeb1022522e5754874f1f47ba2210330c21f867c3bd43e35488b3e40bda21235dbd10c25fa532db5e524050a8007d1efaaf1f329fcec243d1542fcc10c16b4ffae2a427f129fedf227fc71b311fa2149e7eb39405d522bba96fa83ed08f6b9a06b9a2d20b7b7e35290b1f6c61ec17e564d39f1e526ec19efeec196624b0d568244b64aacd05353cdcfaa2b37bc7b2e9a6040944d433e69f7e93903fc0674eaf13b82758e0f0632123690deb5a9a7acaddda248bf723c7ccd5a333320130d9edcec9f016a43b17088bc5277be9cf36e1000460fa9c4fda64c002d8d17cac2513d004201eecca175688a06e1522d3eda5960e9ad76b6f690ad233e88967965104c9ad79882953b58e1932f1a17909ecf666f2e135101a34713af8ed406cfef3efe53c3fb7c5ab2db218705d9adee92cd59ed49ed113bf2232f8e3eedccab7368d3e594208b1e795407064ab33295626868e5faecbee1dfa0e3c5e718aaba83b8bc11987f1c0471a3e24d762a7db44842781df7f162d9d4c24b3d8defa824d6748d023179de6b30945ffecff09c331d9ad62fe55afb1326334d96715ec130ee507cf5270ac47551333b0903f263d8818cc693db56d827508049b90a370d8e476fa15c0cb0acf22e2a4f3e72d3a5bc83a3a00edccecbd9e071e6b5817339f2733777069e656080fca0f3246d525a1abdabd537818433610286fb8e3c977d0f87287310dde0f0cdb9b9a5e0d29b997e2aaa04d7fd6ee95ec9de028c83848ee5af55199338411fe771c111ff6ed103a22d84a7d70849c4a33c0670e82e6525efd54417a82bdd79f18bf1d5e4e3f3c2b1692c627a912cfb78162524824131c23ffa846ad34627983d5dbdb3de732b9a55f8f1174d65739d67316162d1fa78d14eb25289e389f24f1df49a704b576492b32923b19df0765dc94f383b1c4fba53c11e268c74592bf8bc3c041b97153f0d671db2cf39758b9ef6b3b4ccbba877d2fcc1404973f114c934f6e5639a361cb9631fb02760a6b09b6c9a025a418cfa8d76f79bd4b0fed9c716300fef86e4615b907f04fbe8e177b5f6e60c07a301e2566ef92cabfff90ae8073f089d8964ea56492405c37b2da57c49e4eac73acea7675f299e300a757f9a117ffdb331a2e91febb9380a34aa5404a33552daa9451dbb7b08f25f10b3ba91882af3daa79c1ee5e48ec363bfea360698658c66ba09e24a0f423d8f8d46d220fc8e707495e0c35402295dbb12c62d146f6454b26c8b6b98f96b5117f7d8bf68eb3db54e1f2e16f5128a4fc6e7821b36b4729558deb2f415781a62f4bcc27ca6fb5f04fe065229ea9d9f7d79f6cded81d81793757d9164a6cd38fb9d12bed19a53402ffcd5a6bb114e7f59cdc1523d5ca6c92bec126f75d9df87bfd2f6a90025786518e1424e643703729ecfbb504fe948db2183ddecd5c37a1b44ec74babe2d6898d459784e88b8957ba7857ae6319dfed6635db09c4ef383733e3692d78e49a43e42122d30739fcbbfd1e52dbde68e0cc8c96fc0666a222cbfc5f716de7827253cb29b5890e5d7571eba8853ee4c83d6669cf4f253363538ba588f3bb427a1d2389b0168c424ab6e367ff7e9d938c1e3ddd400ca21028f88045feaf422bb0c83ec93d26520bc9853d5581e7ab0d42b4ff2e65da58859be5e60a77648ce4d0d21a2f367e2f1d6310ae34bd5936223eb8ed580e91a646ff234981ed1182abb30bb7cbfd0ef2e0390abcd6170067ad13ce5771e1d0bdf7bd06ca80840cbddd7fba47e96387da7996bd3d044cdd76eb38772b50629be5d9915a6159c82a37175918fc6b1519ac0b1e1b40362f30d115e1c8e815c3d0f6258a043cbfd4057762a8eedede7d40bbd12d7140877c0c5c0f5027683d4c40bc9697d6ef7ea0f8846eff6f0da550d4d279803940a76ad10281a515f7a4498f9d897b6351ad77e7361dc0145658277c2325f0fd230937f508950d79bbb7438fddd732857109286e4e05db3938d0fc09771cc96c331c2208b4c2d6f79f64695939cfc82039b615810aae8e0d5d24f0af0ff5c93c7b4b4e7ff3f6f5af6197822701c534476b5248af7897b35046666b75702705a015dd62b95f02629e7544746442b1e0e320b8bdff25ae5a516baeb86542657a73fc1d27f7492ac94d6a951859493bf4d1bc669748f5fb78e3afa5d677499bb7b9592ad853565b4d924b80a3db1d2867b046d6a09efb0f3203f2e8fc30b994f1e807f68e823a93c8695357421bafcbdb4b560430105d4cb74494bfbc8fcdd9e1282fddde6baa995b254abae2bed766681fe7cda1f159bbe64e00348f165d3c3298b7feaab929310ef0472cd180c44541d31f9f540d577ce7f4dfd85088fbc3964248a216e3523e5609136be29fb5586e300b1df4cb90494ca8502b359f60e23d6e82883e751962e8b442639f7c15c0cc3b6bee1290cda85b1eda2beb4dd02e2a7055d7b87f0c1b8bf60d84e105a6b049f14ba061ab40c73a8ff7806707febf49e9a38d8718392a2678b6a405684b47acbe230ecd50cd86949ec2e66defde3d0c013449d811cf3fd8432eb58a9226f77a997d3b55eca2d23359e874f3a139d13759cc1df35949effe8afa2b93159a2703b07234a06d8e66afef7037bc755d95f0c099c17817f26173e08405ded4e9dfdfa992262e19070b460fc4447dcdc03da1a14b3b318821086d7516a7ade0f58cc5c46b183d8dc7cbbc9cc6c18532f55461943f021233903c64ce4387657d874c804968e54f2b2723127d6bf081785edf51e001e3ebcead42b92903220b38f145518bdb505c4535b0b91b56abb4cea129554b5f00312e2661189b2ba7f2cb7222d7fe623562bd727a3606750d1b625c75d2c2fc4aea99a1c64757203fc631d06327baf1ff89584b2e56cc82720a4303a15e656143c7b284a71d2a8ed76f40a45e8bae89bc814266d115143d5dcd9c8931d11245adcf8710c109dede8fc3cbdfcae2f1606c50a361d44037c38c0e9bab13ed216b8a2c0f1d4757a468756f8c1c4e85250bcc2264212eaff096e13df3fd765950668275f102bcc3d510643ceb77e562c2b7fd828e78438e9bbd9767d02fc491c73d4b46e1a03642e8d4dfbd71290a3c7291dcc010c41590c1857795d6ac2c9c9a21c3ccbe33299818753de89eb47e600bf1c074d73e2d22bfbbe8950a61397a5c954ae83f1a5ce4c071c3c56289be2c57b688eee4e6ebc3e6e982ee11712a85aeee42efceaad1783c05e80fb09c0ea7494ce165ba659999bfe8a04e2c7947b4dbd9f3f09030f2128f2571da82f6a3e4ca0fab3a8131431e83f7300eef14d13ebc3843aac7581fc6ce69841e001f658d760fad8b242164d3c5e0741b83b4de0e12078ec4084ea568392f8bd02c5076c64489e460f5ad3398ba18d5135944c90cbb0930e4142a4b6f869d0901e37c1850948d365e750d56cc85c95a5c16e0c7c49dca74088fffedbde3c24da4f4ca0aa29ebe76d4bd5d163fcde4536f7e6d8d06008d8e7cac4a676dd8222fdd9bd1f2371314fe086388d63137877a5fbd6702a0530d3d03febe57bf4b6580ab796b9688dae103e5f35f1b24c437cc5d3e5cde286d9e9a103af8a393fe7319f4d4d4e7cd1166099b6bef04eaa5fe65abdc4343fad642c084052b0e470d85de939d33aeae19579a9639ff24e531e8637ec4fbc7fa9edad957bd9c45a4e7df98b791303b2a34aba95b4faa7ed5cad79d6b70f22ca4159b6995dea37b6ba77b97413524468cc40c16271d6b5c839c4ab957ea29b59686f2b41e2e412443bc3a733f1d06aafe7bb14ab891ad5eac796ce7b693036014bc5afd3ef553b80d6ec5be68030ab542d98e9d91b5624186a365a7cfdec6984e137331e2b4c7d9a891b0dd69f78435fd4ae36ffb5b1207da8c2ac9ccf7a7ffe2f1c4c4d5d193491e73ee0df00c94711676cdbc9bb507fe2394060cb39416cef8d1054dc1d15ce4cdd23fad6f5b29dadb2bd8c708afda403b3a2b9731da2da2cf2bcbfddcfa8f0bcaf2f07dacfe2a7d72223c013327a48bf7712c55e0d0beeaae4e6c2557175090baf33e8c0f582e8fd1578d249596d855f0e8f9a5752882685f992b709239c3e76f96ddca4b6d19aa464d1d3cee95965748d1caf640456b7744f439483a888ff1eb5381141fc36120f56d3fb05348196d040206997298f2521d304823e28aac493fa03fbfe8889b1fbc1d738a2fd0489d8590e685f877a2742686365533f35e397859057e64203bc4a63b6d1643c6aa0aea342736a77a1d0a7441f3c13b90a42c5f23a16089d02419dddc19e37346e1b6ab50156794bc5cbd10c703934d1a6bcb6677175522b45020a91245df1a65a1b5c780e2ef904995867748f5d9c20aa68c5cb6699959a9efb047d88ec4b685496f2ffdf881d78669fef97b6e15baba00dacbbe0e1b94ee84e6e93e9b663dd68211c898f030296acb27d2d641a5606c3e2507ebd658ee01afb21cf90770107aebefa457a477740366f7eca8a80a357cd22ead2b791f4a1e4695e9fc47ef99fd3411863524701313dbe1d31473a1be1e35eaeb3fa370f4ea18e271859bdebbe0066110d6cfd56150650c464441fff6394de08b3d09fcf02cd188d8516119e8b63825de9d592c557f34c71219f643b95f98e965e5b27d68039e7959ab6d9d3913e0ea650a9a6b08b20bb7450322a62245dc80897368a3cc4241fd3febb981a2536f60b461064cb9c64d0da510a978ff9d4fee12f42d35a945e50c78fad39954ea3070dbf408a2970f02b24704a9406bf244aea81cbaeab72285c260e278c00ea77542756dc070eb9c135ca5086be7371a113ba29631b6b8a4d86d9390b99e6427a1b612bb3be4f6d3c497dab70a765e68de73e30339c5f7fc12affc13d41d2977fb1720300d0b2f7417f939709805267c3a534819f95f31e12c3f4f31022c3c5fffaca05aee4969dea00d2b4cd153576dcb83e50c77cb17a1331aab46b9385ca7521a4dd0944542698e8626abe97f7d11cb6ea950c1049102e6fd53a12ab36595c9effda6b7991009bd857a2fcd291a8cd9212520c1247fe29044d249eaf96ff9f575b55e55ce041bcb7c26f120c878f28134b6b7de1e658f0ad7ca294993acdb1edb9f0c98ffb90d6a3f2e10904027df498d96519e9aee85eba4ce0962f9d2247f2e1e369edaa5e35479feb9e4ca65303e2cf3984fdb0dce872b493e1c3a1338eb13dad3db9467ea575100298ffa8857cef620cf2e203dc9e3a835e4873f9fd82af5fa0b8ecb6fbb56e2ac34b08cd8768c32b4d03ec06ae1e0221f4c9d7efe784762b8c397048fb459b5168f1c4a0006fc35b084ed23fff55f0ff057f222ad74a21e9f11ae0975103212d90e7356a1a4b18b6c275111e1bf874d319774ed1a0a35d1cb8a37559fb56ba90b6c2a10c32bacf061e22903ccce953450376d1671439c32f250446a1490021d4197844485f0ebcd6f54672d8f29aa83e76ac8ea8df60b6955296d791b35f8f7e21aa1bcc2c654652dd7488a40a5e04b3a388a3fcd7f2e5d49248aa04dc36f14cc64d736d52e768cbd2bae06a9baa5fa87531d85d7812bc8e31a351edc697a60eea7e259fe0ba47e83472520d1f0cb0312f067cd7d73a2b99784f10af95b3692e2c701ad9b2d25344f37e78729717d1924c375005b0542aa74351af71f0f0d32cf0f37517b03d929dddf59dd8b8cf5c00e032e5f75ad87802fd91e80a6fee802e279b97faca13c4374df987a80981115e097edc857086fc2d84e076110e00cf2c93c066b38a07bcebb4af619eae9c10c6dac54878a13cfc09f0815cd118476d05b521dde6d2f6bcde2d6cc6c6b89313762839b25dcd3220fa53c846380ed0678e71babd5b4660fcb8ecbedcdd171f8a2369d836140bf34608a3e77f824e0b84f71446b5b9c67982a252e51e4c8fafc60364141fcc0ee8c83cd90c88d56a2f1906ff8b1b3d6086b7bd01746d7822ece257db8abf35b1106fac802ed82eab3b4fc1482888ea4a0681294cc02478ed659bd19d88abaf52d2f42a4efa28d5e72f3ec14e0039e5d12dcae472f4e68c4338c72e503b98ec67cc4e16f2c6f4e59e8f5d7a51217cbcb7fe9c9237fcf81fb419b2a1cf55ea917636f31709931c7dff018d169ce4b6b1e00fd352a3d13bf5806f143fddd8bc907ed232f0a9e27b1502896d8b240ce1d776049eb4fe7a1ae8318bcbfcd340d1bf8738528047099551ebf55f10892e4a3c2289b3ab4351bdc008230723077466db70f1b497d2be527b1160ad65b8aa1befe829310079c2372158cd7eb054c7979dbfc716432d4b1260f91731bc3a4769bb2d8a33727e168a4ee355af95e6c9f8ff549e259628c47cf0357ed6b39eb0ffce839c84da4bef2a6aefdd058eb34c379e1bb543b4d2298d546a9f552e3cc2c90ae5e47379ec438795b839768d1704e06cb53318e9f58d06e4946a5f750edca93d3eae754ebe61d9c6c44143b1bdeddc14efd713fc33cdee15606b126eaa93530fec85cc34dd307aaac86fca6e4479932d76078fd75bf7f930773f59a2a6fc92e3a924ff53da47091fc34912af990049cbfbd07043d9aad62c6a3e0fe51c63be45387cbf2b83335ab761c4da112a723ae66ec7778b2e31dcc7b2b76f7ab59aeab432317f7707e65d450f5e47915ebe3cc780f0c6a675001e078bdfaa7c392e7607b15d42f4f58eba19908730a5a1e3fa995d0cfa6bf53a22063874d7f8df68a40492b919c649cf1defb3af92359d8bb1210cc34c4b03a15b71650720ed68ef7fc6efd017ad7278acd4e61572627b78d1f92e7e771c45bff259afa52a06e9d744869bbf9453471784fa6c4f833aed26087c4521e2030c6c0597f18265241e0ccfe7dc9c43a04eb002ab85fab39ef4f7ae6398d74ca878210927219dda474a13a2329a9dfb1abd67898a99342329dad062f85dd665bad9d68c96b6f5764e2a724d239f63939a0bb983269af47ab59943135a9513a7e76563bfe603c45904621244ad1561e743f9e3558d4182212bd6e985439f137174bb77bdafe3b50e4190d3839dbd2b7d26f64ef18ff5cc8522f55d9891d0b6e4a5e87b517161580dda4fafd117b60a2a763a65fcb4a7614faa050cb913366362c04f8bfe92d7761df518c45cf6ec16f4750a7ea63a653a39800312cf1faae5f697e8160c68274fe57b8428c6d39907f289e2cb6a53e7c74b266fdb1fd35a3d913fcde37080fea82a33a6948325890aee381b9deda7bbff67fa2a8a520a517a20c84be5fb3264cdd78069e4fcccd24bee06c4b9021e98c62a138422683982d0eb97363e989e40ab853c83f8ef10506cd049a578e31c4fd7db2fe8a7607bc38dd66c48ef3b1c2f2736bb8bc0a86ba9e61085e492b8eaccb22e190ffb1d3796d7a2ab554d86ab1bb95e402096bf8b1d81431ccb1da3c2519a5a5ea3cbd8526c6154734bbc782fe376e528edc9dab6a3f133c0f6fa4b20160cacdeac1ee573b9fb7072b6a686aea0d883528ad52b4c0ea03db271c75a2bbf17e8a909fbdfc26824dfe6444c8dffb1e2fb9a3e061f5a37c8572ce0c7ba6143f23aeb3e49795eda3c67cea1986bc31ed0fce7cc8fc7c94040c781e19d4c83ba5a28813bfde38627236a818136d3a35c89c09521edde70b1b140b9b07f54f9d49f894ab97cb1d848665251ab820731c54c8e63c0e4f613ba93faf37e332f178237b72ae3b3b0e4c98984c9422639415b5173380784f0941b91908e00b5bd39d2711df30cf7669167005d7ca39cb65e3db9150f9e220c082698e5e319d4813357ee9044a6eb62204ec340e57d72c678d1aa0ee7769aa7bbf5048dd74eefc14eb360f8af1e57c3d32436be39784be0429ff707e5568f18fd3a09a347f8a5cd8ace076f2b6904e0b07caddcfd30fb1054787e5c094ff628d7709f3cbb0d4ad8356f77c5bce5e7380aa7672810b34bb50a9e04b69ecd1b48bdb5e422dbc8dbc4d92f3310f95f0bedc118c04af1d00bf1ca3efb547ac1738fad9c3d1828b14a424e7e63b3c99c7cd3866b3f2abe61e7db7dcd1a66774e39f03b250db0340c4c07752bc726f162c7bd350e48ab57583dc4d1124e0867ad8ea51457dd43203ec069bce8562d587ae241234c2d560fe5c3a329a153bbac9097f6fa46965da5e0ab902ec733f7cebd380cf8c0b4d50abd24c2fa4e6739d5de098c215b206515d739c31e09a77d38b3a3c5fbfbe037f067dba6209fa5f7c177d370e354a0f0005bac8c9a9ed1d2f3c47bae0dd0ba70887b6bd543f7435d8ff23d06c192b6a49d3d9cc5f60f1b22668fec34ceddfeced6f11e3c3014f59464805a35e216e0b81c093dca466e04996bbc42d67538598e80d81912aaa95ee955b251fbbf8b5137aac98452cb453ceee7e0e5833f5a4e1d23fad32f3891dde28fcaa9d50c3ff4d6f80a60f5289779558690f3d1977c2ac17cdcd54e83f66e536dd46e66ee6dbc1a4460e03e44b56a85eaa87aaae593ee06999dd647018e22dadf007cd8d6f0d4563c3093534d57fd3849d0fd9a9b6bdf15ba062b4369185f1b31dd67ab6e1727646df9c73e813e07878594f1b234b1b0dfd02eedc393a79405b214a0f1f6d4bfebdd14b622750b72789a7426e4242cd5df57a87d76a7babfbf1402c9b5d24a677ce92eeef01bcaaf5a494982743f7899f11efa4c519cdf1bfb22891e7922ffcfebbe8397058ace205b1ffe96247c7a390149a0805b994200b0a684c52fd5e96f8a453fe3f66d86c292982836330ae652ded8118e6298fb30df09eba27eb67badcbb0bbea3b3aab9c455888a16a214a5f52c5b0ad7fae276702abb9549d963ba1fc92de1bf8a067ee81209e0883b1ea2b81fa9f4641017148cb18321078a3381761062f16675426086d63f4ee288358edad0f644ab13bd43d7119f7a12a8e26efd4e905e2a4a11a34f0f8745b6c70d831161f90f1cdab5ff1a156d046e5cf787e4a920850009abbfe394245ca999e914819344c64964cf469863b5458b9da4bf4180a2ef540a431b175ea29bea1716ebe3c0454c545f50f9119821c60e38bd845638423a9771ed8c2c669a53846ad22a6dbe7af1e07c4bd7ddc1bc44ee816887201c0133a1d85b341906ebb8c6ccf9dec5795d04013d8d7209691f56a28e0cad463bd2e5b21baa14f27c484ebeb9e041e6ecce1ab78e0b925b19bd3427a73cb3901c3dc2d9134d8b39784c3345509e21b18dcaf154e4c26b544496f61a155e295bc8d35fad0e95a4afa0099e580ae5eb4cecfc4a9105411df1919fd8de5af605d07d7a0ef2c3d5f9c5f40f98ce86bc0ac57c293e97f65d40e6b05550e2b7b687e84bbee22c1ea46f598cc004f1a4c82ede8639c37e07c5366ecf0897ecd577bd30741db104cd024275d5446a7544702183ee56d187c74e68bb23b3798241a81f177fe245ca969b641d15e0dad4e46eefab15813906cc5e2f31a329762adb3f268243cfc4829a8f5b2b3809f6485c654580cac3b3c9da631adaf46c0d8e100d746cb8cc972f50e7f5b49bf465caf94d98914556a85bef782096272156effa3ab2451facf10c9ff722c3fa61010e6bfc99a246565ed9eda908bbea34f682a5fc92dc8b30a405c31d7f2d7ac3baa1ad85420e969c495a329dc8cc5045208ec7913c963aa6073f2981853ef6e0231f02b978036a09454e0a80927b91f9ce20db8736b2ace541f43849d7b69f490e1afa85fac14a1768e7aac0147eee6c5a6bfc6b6b3bc62456561db4de496d32beb4eb1c78713138959165258e7052fbdd8458a902e8ea2ec2637d73ed7d22edb081897c9dadf5d6d0f98184049c8287836d24bbd82a34c443ffdeed74b67273f4a1bb05b1c0023e36cd7b14f4908bafad0dc1e42002a75aaf697536f284eec47158df406162fe220f08e2e5b189d00a09f128e8be113bda82035956f59ba682dc309bdb0160e26ebe6999d6175778be0d77170aab3409fa5c357323e51128e3a309b1090573b319fa396c6ff8446d4c9c50bb23302c6bfdd5aca28a1c5dfe913a887ab12f3ceba0c71e540b3f2eb974d89c2dc386a7ef3f68c75730b60da9c2e92b797e034481f55a9125e8e36736a5b93acdbfdff3240af4918aaf82101099ddd59cdd6a3f33e162c46b13287a208e187989d63e971743b2921a2aa5d4d1c80a03ab91bffcec803bc0bf7666fa37025edf35ecec38fa7400fd550d26337f990c832cb2c982afcc317dbe47a83c2dc0394e082be72010d7c7f7ee6108714e0d2b41d1f88d3072213b2e4c4b5f426d71b7d76217ae8d0e32019ca5160a9b14a84d55e347837351bdcae08be17cf3106079a84d1a022a61e0d6b074da7d46f8a66e55c7fc80f0527a3f6dd43a274abc68540a7215dd7eea9a44bde2d5dfcea99437ef32669c79c7e65e0f62958de3fcc8bcb341580f21fc17164e3ea5bb6f77ce38e2b0c52a4645754996541cbf80bf3fe8d847688aaeb08f48e9e0079ea965d7db8f15dce976e6796ad28010f976dcaea4adb2d02a7fac36136cc021e6c59a4cf80f1ed73734f5dffd6b5ee181a2e05a4faf9ddc42afcd049f9ba8899be8ccecfa692a0fcf3d46b35dfc17930167ccfe5ff10622d357f1d2cbd7d97a15406ed4dfb60a8e8f3a2b7eb243ebd01bbc93ebfa8f02f5dd9d0ba11792625abe61d7d2e865ed6dbd9d9f0f983f371deac4831421b79b0c7dc5b5b0244e84835092bb523a1ff1bb2e2afaaf501649604076ad2ec00c832cdfeba9e5378df4b414f55b8d91cf9e07e7efb8034bd992813e064741f0cdf7ff73bab5adee92ba7e870ae00d7b164365eb4d5eda98a19814f49d7da3cc354c1066ad35afe24819d8ff8d38c6d563f75e8a4e5ea907aa11e5c4899accda0c4243a85917afead07857e311d6f939180c674724865b2ab6012b106fa479991966af6622d39e3591c6f6ea3c62d302140b70d5186bfed42fd34bffcd566259caf398167a322f51a9cdd2bfe74d751682d5a90ae7128b63c88fa30191b4cbd1d18904ac2559e29175d26eafd5b8f5fbc9666aee53b3ac6673220140e24c9dcacc2639d871be006d883b2f8f9970a062568b51d9d2b334876f5f54930a7c0d5c262298a6fc18fae06f9df73b8011c07d4c4ff6ec64a6af74a1bbd735769fde41e43c8878670948ce4dfdf241dc94b9dd1e2d6f2b989ed8c581d3db7fa0108339003ced5384146fb1748812f31850a4cc353855d057c0c8196f5d7d736ea8b52353b168ed3b752d291a8df71d7e5a3b33dc3448dffc839c1c6a50e5315281b89473efdd71efe609b16fc73741de603d6b40a49da78c890cee339510faef8ae7dcf2883fa27a91f61c8fb60452af0e923b9ce51d2ade0a767eadfcec0e7af6894fffe18e8632a89d253e4627c8c5738434e41389dacc5cddeae7727b71a59e26e09cbfe8df79f23abdb6d38d4f7dcf21d4d805e82d997f00f92edcfe2867c54dab641cd05a6fb76d0f079463dcfd6882bb4068f29fd75aae5e760c4d09a6f615dc2f3cf39ca91e63ff1d69545a2326327a8e2033cff058d622c084a583c5179892fe5ad503bef7bc2400eeeffb3aa0261002fae9ee3f8b8f820d5997f40b921c72c0e1af84cdb0d5b8493d3d787187ffd1ca6523fa0274d0d981f28afda26f2fe1bdcb4b07275bf015c74a47138d76121834acfe4aed4cab7cb0add824415b0caae289fc8808a7b1869873764b011aa8b1694a4ef924372d4462cdb403c876b451b370261dd8072628515596a5ac3221ca0e9a73589f53b018a7abd7ab9e732a1e7d816241ff8d2ac3bf516e5647030aa5f086385419ccaeb93a02000ab741077987f69f6a56d039e1fde658ba652e7abbf68867604f6a56c91f658369e2a962899f692eebe5ad8364a0bf527bb5f301a72c99944a13536ab0de7da734adbe8fa06b234c510df462d0b7be14120c7dc3e97e3d3917b26194dff12f0d625ef8e2b1b380fc93539e14bf43a6183c690c24f273d58ef3628ad9a874cf840bb790df552296f3cef40e8b3d5b5e4746b5f86d3b3e1c590b399054bc7321656d0f85f15b0cc98b64817143a2cc72bb62c4bc833f8a8e501c94508916ecf1fc9d26d5456383af46b2258b8f8cc7442aff70efb9fca377604f068a998b1a7e427b48139241922af38c844f83828f46da557780bdddbe9a82fc2253ebf89c0952a622b72744d26e7cef5e91021b95fd5fe58f1f4f2b58fe1b5c1ed992a70f455708a6f5a85ddda21e2636a8f4d73a4fa7fab624e3c5f9ddd4bd1f2b3c847b3d61f3ba87cc1d36ff006a882bd35aba7ef4034a8857d031d4c2153d9149455b6ece3605204f4666b2b1dda079f6ac26a611227c1ebd3e25520cc417346cefeb3939f3902ce7ab69533773e23ec7c1aad5017ae23d55e8b5bac888b937131f7505d9bace1265303b26dd5287cf0bb38631b01787cc6892f473dd7bfaf77b93e49c5fe08d837f2dd9f27ae8b63ca8cf0276472a69c63a4084ec8b6fbca2be247257a22bd3303b79f88e1ac1e7163297bd7678c12a7c9410a12ddc6b0582cd819668b9fa9a0f7a2931067c1943572fc4dc0c4d4535c054577f553f12ff7bb9120f6b0547b4195d3cb89797a3eb63e04d77256a5e3082e1eb91bcbbf533c4c56bc6c28ec458dd701dedad56f793b100fd52d27013a259e9911ccc5f430f3db54a616b72fdfce282422c632e0b1841a3f2a622093869ea840e7be65ef066dbda240d3dea8eebfacd75fced2fdc69b3fa52341c629fbae0cead2fd74838710e1ed0203366ce1130d66cfb8d5549fa7b1744fa00efbf2744c0db889737231a9a56712b8b57e809ad3468cae94aeeef43d298b98cdefff4eb9b4d90c28d4c2f2c58a599ae1fc7676b238d3c891e8beba33079bb94eb11ac183f186327255303a0590a7c0d31b83097c1309c5f679cee8e62ff8192b685cc0c96d82552202fdb1b5f1eaaff38d3c281c42e1fb93f74801bd76659776152a3f7c3851923050dd1552b8a6be79060a737a9951e2ed6bcf407e5d5d7753c0ea7ed5b321ce82b42d72244503f544b3adb08bb7e92cce96d612422c6db4e5296303b1c857aef624164c54d172fb9266de2bb79f39b2c12f413d0c35e81e07e6c4cf9993d84a60b1af71fc0b3cab02acb5f55e3eedd8dde7e9e46713551abb39f2cd0014188bb1c8be89d405f7e80aa26fee93ecedc3ff106f27ed6529ac95a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a013724d55e702a9dd0b8f933cb5409fe76535187e0665862ddf771161a33eacf8af598ae6492b6890b89e0133cf08e4c73f353afe2703f10f1bdca494ddc8dfc9f5d3b180007644b73f9a93f4d8ffb1b125a2e939fc50d2cfa165b69f3de66548ae2403e8996a788490e6f70c6b71cec13b1fbe394b9051e298346f3fd46004b05b8f5936a2638e82e10b20020ca0fefb8420e18a677daefebb9f3a56b06575bbd50a888011c96b6ecad4aecebb75f9d7084ec82618170ed6a8da54c69ba38e12aa6c7b36ba2ef7b22442e6503e0cdd1e64ac50c5c9b7333e78d92640bc89701881e061e06f6f3afa7820d2e3838c7fed6fffe7e5191bd0f41f4bc0d6795efe1b64c86a16a9dc33ed3301df6edcd0cc5037ffa08bc8448359dc363b727936b0361f845a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a01372197a9aafe9520cbdca95b9ba44ece87f31739a546d5868b089c028734f8ad95cbfb8ebc3cf47c1a50939f753589bbe2980160b765e4a32ea13bf55646d273b700bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc88a5cec24bc6e993fb9cafe217cec66f1f474bb843b983c25cda21fb5cfd98a16b78937b1be469e3deb3d72879d919d46e7969df873a1091ab3fbec5eeb184ecf4bd2b7f138122ae10ff3c813a084f7523f4a228121f34c77e04a4b51fd19a9e001fa5a97d616400d32b7dbc9e1391281911f510c6063dcbed60244d516acbb798fe56b96abd58c4a7b417d85ae3174db995a4943ccaf3a0b555458e759556333732adec6aa71c0897a99ad0e2a824466b93c333ea4e8bb23e6b3243adac2ec93353b955e340fd899fa73a059b1f3682913167554d468f2cae0e62b7c6c90f320c58a9630099495456c076c4349c9357a1b37f129f52f92ef748df3d236c4915ad980a46ac57df7369b9ec13617f2cb1c5c30c4e56cac5d3c963b282e06c717f6f07ed3e07b7a12f8028cdbce9bbacbf08b61b00a1c330794cf898f8cf0f4726a4c9585493759020eea1456db39453e8c9830778c5ba6176cac7850449656345e3b1a16068b10c35d7fbe10747d48f1f95891a4ae6321affbd3c474a78d808d8a214cb938ed89e596ae92bbafdd8f0a3469684318d0ed5574326f024147682cd2439543f9c153574f92567d2e9d7bc9836e52f81d5bfd2638c6843ece93260ee1906c2604f613e9fa52f8d2d6b395fbcf2276c283dec3640eb38ca5af58e506a6b431b97cdfb6118e18e7686645f0031ab777f15950a31d9d061273a0988d6952439a43a7212dcec7428a2e8fe4583b7711c0953f0a1dcb9131aec9b9f8fa7cb935aaa3b1ce8b5315358cf763dc19e196cf047ed2b9e36f1779eb6f89a78ea8ba6af36df50da86384657a536f5f9bb3b334f57ba41584bda25fd9520f29778ad30187c523b0a1788c89e2402efcdd951e9a0c573a2767b72a5bab56f411f029188a5c52eea4335c631b813255a4c4b20cc2568dfe4b04b0a3933f6ddca5ace89a8894a7128b97d2fd00e9c4333841510fe3ef7182c63421368f8aca9b3002ad2b9cff1ae81310b0633c8c3ed6813253ecdd808afac4d102384b6950454a63a87e17f7da8ef3aeb2d7ff9a6bd8526363b52611f9853a81dffe2965c7df0193cd6ff73f466e62d5904be85e334e25c818926e9a079cfcbb19a21e67fa2d48fda7c605f542d23e521d93f9f8b7f62007094e6a94b3d4ff000f92feaaeb9ba75b35fd6073b2e223f0dbbea76bbfa3b4aa7a2757210aa8616a621264d08e477b068cd534483a91a5efda0f56aaf09a1a22897df026e8175ad866077bcf4e27d0824e4d62e96a3716617df0233ef66f94b8b9742fe5adcc3fdac76107ea3136246d3689ae28e3c56f41b6d2c492ee1359cea25463a4d56ca22e365bee211a2aa42b65c0af1a085e05a54aa1bbd4291ad86523e7f760413acaef8f1f797509d398541a0fe28905b9e238fcb14608f75e97e605644073c3d6a56c8635848084b76e1245b450bc9190d7bed6e01626bbcd0f7401e8983dc488dc9b0536cf7246277064e57eff88967d8044aaf0ea8ad2b8ab1dacf74e5c02d0a2ee8efde5d56cea05d3ec2240cb1f65c24cdc65d95c72d64941303880dad5cffb061312bf8e13369908f30cb5ae70356474105b282eb3434594678a336985565b9ebd0eb5e53abac23394cc56e6eac44846b80b19211af8ed9e5f8e7ffa914af1ed4b4b17570d8d3727a7312cbba3c14c95d36d3debca9cd4f8417f6bdb9dfc38c858280ea4a3e0c5860f162ac0aacff51d1d4537300754ee52720540eb3ed8d6d06842d09f4cbb50f2c9460f5add466961c07b9bdbf599641b9ad739c006ea121c88078f644c7b0c7ba68529899ebb20ac33961bc477417c93ee12cacf0e2e00e41289645de859805262863c4a3db93b93655f59b35eb7664b2b7d01f0d5d7dcaa721e667132cba8fecb6b9533ece3f27dda5d623cca30a586d459f24dbb2b6ea93e1e00c6042c0496e711e59af2158180b5aaca1ddd9ce1e6630b133255c9c5ae90a2492d755a6636b86fbe9ffdf76a4b3ebbf4080f8eba7a83f8d509bc34f63e9761de58f19fc99086dec9a5da43017fe5c11f057388bab1afee029a08bd65a92444745e9e66c84f83de3758d0e3157fdf6a14456513112708ee396b6255f4962f7f2ea4c1b036c65469124a3bef5911b2ac8bfba2499e205f7baec03660ceaccbe7fe97c5a5c49febe6360369279f88107f01dcdeeaf3fbbf7fbc6149f954037de64cbcd2305d4dd2a9e36d046dd164aafd3889df41d7b4f614b4df033db26d07689da23f71c4f2ba76b5d59b5535c05460b7971df8f2af1a716b34ef117e723c806588cc2362c6e0fcb2339da702c9106c56c147ec38d8fcf7f6da397e5937d4e5f9c8e9b32afe868850e22cc07ba496a62c78e97c7d407e3c920a730acff5f22a7ea51ac2d2b1f3c54d2c15d9a1d84043bb04ff42faea4cc76370168c5aae7a19050f0c9cb2cb832e9ed995c7046d405b21f1c1a40524d417da69069061ea84c467504fd0df04b5472e34ef2cd96e3a9297bea1f2a4c54eb2361b0c179126ed7f8b915a754becf514e0133d9550f9c138811a204bb40b0f6116fb88414939727e2dd6f16d3ced170a4c807005661650aa69cfd95d1b0dfd09fb8d40ac85e2b41abbf07aa4162915119aa05dec54e796a94d9d43fcdd4a4641987473f32a9c194650cbbcc47bfcd744126288b5dfaec99b3a06d57357580b74d07fc9e62698a908eeacee033b607163c00342fd25955966d5f4cbd86a5593491adaca7e0921d549f99f6a94b3b8c8b4c0916d3161ea08acef6fe092522a9adee4941f04895931aec52369563ffcc82e9191c4d6a353ff5969b42f7c7299fc6614cf835eb2845718f5c454bd80f0b932b52f48f2644ffdfdafcb25dd0bb2b0d87cd9d5362a3fa8f67f22722b351925ecb51aa6103eb9d3cc8df1d7e096014cb821cdc91c3b49816b983cca129afcbe4f4ffb34b1079dbc4030d04b3b6412c0232f9b7d0f284e710009d8dc0278a7061b74219baf53cfca88848eaedf3a29a97fbde3b2e3f98544c335949c6a65751edef51224ae4274744008e3213b7ffbe203452c83e97458599a2d08a87b0180232315403e680460d217fe78aae54b959d4a64b3682d63fd279738b2fcb15e16ac05b27470455bce7ee8e30b4e8aced6690d3467f0c7d8646cae65616fd0faf7e3df3d83844383724270eca979e2f7feae67c38cdf8402a4bb68328cb3f81933862fc0d1d288d37ef5b3f15fab28ab5125bd5c7b5c43aaa0ee4350d447d8789f105d5706b112641d0d37c17ddc9beb190cc2bad822b73701d94ece4717ae0defd56b724690c3d70e5375e077a0111debaf47afd309342e2f0c377bc6753fe8555744eab9249a1a7eb6d52a1542352e72c75d227f0ec2acca10250733886dec99549ef9eff62b6ac74ea17d15f44cd8a1d5c94686b69e58ee39a6f7c7bb7b77876b15df7475a86bad3975ac0c94ecc1be1822dcbb37ad88a7860653054c6b26a02f17fec55dfd866fa508d996a8e9b9049c1fcdcc9e93adef058a40720b57f336cf0cc10ab2a5fb317ea0986466100df17f9b9f803b7f8da494371a8af3dcc5283d2dafb45ec32e5baee0be58523811e181e23a2283682f516fc105416ec14ec7fc9dbec3bf04ced5c8d9db0e4a7b1a16000156f868ea8574e502095b17189518d0e3c2ac753ce52cf2d5de988bcf3fce1e6c3862a9af9496aba0d2950e9984b39a27517125e94805117f4d1f570785e9772e4bb174e21ffd07219a95a81bae47fec1aa194978170e9624068502e3dd0f6a7072293178e86572727dcfb559eee31765ef16abcbf9760c06d74b5676f90d35e0b31e91ab6f202686a1bb11a05bb4c2e870bde524a040341de9be79a2cf14f2d7e97cbdedb30f32dc40b67b90fbbba971cbdbea8c907f21dfc065cc3487e0bbdda3771262f6d51656f95b68b8ffbd78a07eb43af4dd43c448f7070a77fa5df00f09c0b95d91b645ef0b43d75bb60eebdd891e24313c951937b0efefbce61d4f707cee20353e268b9e514cc7b070e2fd3c90239b2db678853e678a0ed6ff909be7df194284cde9cea0f7cd3954ef1f943eba16d0360c2465042862fb6335dbf3fe4f8e17417f52053389617eb64de150c100591231557dbdbca4a451da2a4f28519876f2c1b8b665b085e46da94bb7951d6484add3571b785b813acde60e4704d723e223bb3df9392b1ec809485a37012e41e231a7c1189421a84b2d8006b57c95cd3ef4cd6d6d2e041998d76e7592bfa4ce0547dbcf281e12d63fb15482aebbc716a79a959f0486287debc798c6c5e95e049a521b3d626aa78b443d5f3926101ab6aa14e612dcb7f25122c3fce2f0e90cc3f24832aa40b1ff03e8c76b00e87421b0d0d7b0de7163e0c445efd3815f41ac80fdd235b543cd25019fbea62cdd02a9bb74aec37b1ef24f827ca6bb861ed010163678ca725a1f72e34e7a42011876150f1df454fb22ce3f07f84e51159da1bc4d086a682459404fd9c899efa8f05b12f4b6c80cfe5a366a0d7f6404bfaab30fb23d2fb9e6e42469034fccba3826aca8bd44793a625cee97491e0f2e66057fdb1b943c606fbc9f0652165dc6917c0abc93d7e751076a9973fc756792855057313c026dd96fb0e297d069197217818971c411e5da786314d2b716b01eea223fb804abd26fe6901c0e9eba5cb9a8767de1fb646aaf5e1bbec60f74aaba56c6be2bf39a349cbc9fde3dba0fced6b1a818f239efbfcb152e8461ffb20daafbb5698363913a98ed20c9fa3ec16fecaf8cc4a174ae818b683c9fd14e98fe6d10d7b9e58bf5ced0d4ae2fd2a2707863b7feaeb3f75952883e820f39bd2fe5fc7b9998fa38d1f37f23cd01b7228b3647e69dd4c3467a9414f18fd04a5390c75a410d55b42cb4c7ff5d5520a0d3e5c5529f65521d6dcaf3ab8742e2a215798332d7611bbff8fc4dcc609c12f96702d2602a8740014cd368e72b5e14a03d10917b3523641ad0d145fc034116ddfd85c1a1511de02a8f40c071d2f1adc7e6f6e745ee4c54a6a43406d7d2ea301b78d025a9359140aa0c894050f90dd1a6557fb4ecbb1bb65a4484b04e736c11c7ae89764a9fddab14fdd1d1bb06e6a998f89fec0521a2e7ba5eb36342aad2478c25bb6bd8edd8d7fdd6ac04c93f044d89ccfc4b3b0b439c5ce82d6ce9f067e9d1ff95ef99580127e413d10e7f8fa62e7c03263cbbbd82b7c617cbbe764f9626fdfc34229f478c25ca92d55dff22700efdcf61e82e4efdf16d43023a028fb4ac0e50348b4397c09ea2af386ce0528b0e78f0a497c21737c8e043ef7412c1fb3c7fd4f6a78a11ba82b8dbd83324e1d3d11351b51c69aa5c3aa5b70a51ac901c328c7acfd8ade06e4043290931601c84dd8aca1c4d3e064ea24d298515a4b30056e98ad724cc03a979149d6dc5934fe58fcfd80827a17690ed3ae2e6c447ca84cb9481a01994555e5ed596c6086fa627e32b43109c6dc15406521312f0c64a89331b71ec6ac3ca7832325514b4415e1bccefefc9bd85996540ae461c002c97c4730526019b939c325f0b9489cf3bd9821a02eaf6dca2ef9bf96e2d0393574b8af5ae52ee7343f0c88cdfb878ae1774ab2545f80946c8737fd0888b84f57e41d21361e5cca4055a8fd74fc05fc8486da0a2e169419a053c625ce51f545a12c7ed73aefa14a65168437a8d0bb257cac5b49439cc1cfe450e0c07a60485417a6e382eb37bad9ac53b273d6fd9f491a6120224c31d82c658d051a873af1a79fa1a1bae0e68e874470d9907feefc18724a75dd59e88e3eec31ca73b54ec3dab7f5ec105fc3a1462ceb91a8b93b35fccc57fdf0e2f7050a5540dd63de10e2ca7aa5ca44f1b8ef4cc5158a6195ce0f399b1e42bcd0397a5202d09c4490e62355c6a8d118accda00f9b3c1a47ccac970a9ecc7654f79b29e43af859d89e00683880a1d93e5d9a9b965cb0e737a4b0d3eb2a936b019d7189143878eda383d8d3a39805e0d88a423b13168b27f2f14cfe09db1a3c076aa9538187ca8f66073a5057c14c2daffdc23c51eb2e118deae2febbadb99397c57a72ecd4186495acf3561951791171bdea7fd54390a89b0b59a6f306d13346dd286bfba909afc440c74029af7bec72de3544e303534abb706c3db04d6d1c70068c8658b71130fa865d9b9dc9c5a5ad331e01ab8b94fede6ae447085b86daf3e98bd54910964053a5d1b03631c942071717af37d65b6d48b9ec33bf9e3835ef2beaaaa895e3638967a8baaad4c483242e1e6c6d4cc06673a4ec87d56540cf19afd27c9ba3638df46ffc0c08b6a0adabc649b8b6e44aae00d180051d6d82ae4c5d180ef966141f0d9b7c49236200e1f7f94b5145e4716b836162f000cc2c6261ea556f5fc513b6bf5501ed6fd5d462bde8b795fe901ffb30587e22734320d8027311581d4a5ce04393df938f6d85186739e7c730079ec8b39138919522058bbdd13dff26167111afdbaccf683d40373b0c0b0bcb54a321e4a5b74d5697d15afa0b26b8778c72b3d848ce9c951a68bd9f0db58bbd0108542dbed0be5f5afd77e899be493eaca12045525f250364de6d9ca590692a964b5c12d100950b2f8a3a6dd4520f86710eb83a01d3f6866a68df89a6e9b1da3f0287f9098375f96435a0942e0c3931212daf584e7fdaaf47c7b7ef73c49b4db4ca7de0881666c669bd459e617cf7c7e56a9168165eaca461a7ee27fd67d9f4ba33333a7fbc0bf527518d8ba639d7c54d0eaadac901a880f5c2776f669a54b0fa5bfa762517c0d497ddd3c9cacbccb8bcd9d5971b25f0828ea09f1b45a13d19888393486c06f805c8da1499697eaec1830550e2c280a3ef741031950175963d66ab1cd85140a2eb44bbd7210cb71556093770c91b4047b317dfb23fa4ef839a3567898df6b35e55fbbe12e27e2900af7fe936928ba657c240d5066061eef4c3c97a145ebd69023c4821cbd58844d9a3c7fd95062cccb57637dbe12d82d0f9cf610fb40e6026be71a5f4143a598877d6f8c631f0f5bb7e090e79d945fce12ef5919e0cfe51269cbfaaa25eca782cf0b10363f43c5427990cafd89af978ae4dab3af9d7b741b13482ec6b73d434d4d57bd254aa94fa5ac29f34a67056e4841e62e147b9e2e7a73415393d24b9eda4fb600f05bd2defc036a1b46f1a2385875d5e3171642ef0970fa1873de81e1c7a5201eccb15cd1fe15fb9569269a80089903620ef5f09ebc60e32d20c24fc3ddfef088cb865ca99a599db864156a0a801bdddb646c43a9b18f185fa4524192aea68b06d8137c0563ac92539f971976d918070ea251ab5aff7103c70b561ac677819efedd6669bbfaab9cdb8d15398fa5635c3dc60abef3b9baaeb7e08f8acf5d2d4b946ebf2f9db10b892512de84953bcb7d74c876a4e822d2c74efb4c2f050004f9e1d01255030b786ee0a91ab54f8ffaa9df7069d2f7f2dedd13e121058224f64e17f90931d1d5b5ce7d2810f1b2143b7f5417cbcc39642b11cecbb03fc353117be5965cc40c8fa3475ffd8a334a3c55dd0c33f4ab8437d3e6fa123f970a226041cc0d0c28b77353a8e46f1983432fc3ba35a3b26b84bf546bd21555843dddd81da48214eb3d4bd193f83010894b41363df4db3d7914533634971b1c2f56b9b4c5fbe9cfd5d120e146abc9753b0055205d9760d998750fe128c20bb84a3413a194206b18164ad53c059a8dbbb47e3e41954dd72887e142d0d20745b417a0341c237055a781e58083bdac4819b886425697faaab982dcb28b768782188be9ee8757bea55bda172f022b8384b000855dba4ec391245572b06708044c5538ef32444457ccaa2efa190b6226cb9810f156e5a75bb2c4e0ce2ad1527d01ab9262a45a81989c9770605f00fa343e020e84e60d860a4c7d2849ba5b0b2bd20e998fbe98acb0075791d6f4a127071fec432f1dbbb79258cbc9edc7f8f80b3ce904412fac9a39396fa7f6385d2dde537634179f6077ed63bab2211dfd998995a4a9cf849c8206b23310e7cab9888a500b1ba69762883cb61d14b6e546bad9a4158489c60ecf2c8279ac4c3d002315ed66694b376c35929d70f9fa3ee1ea21e2466f09cbca48af9a98885bcf61fea0f5967a6c78de36706eca494f139298ab56553dab63966aafb75a59b9de01c42da532c0844ac669fb5ddf15be3b08be630b87e03457d793256f645f8db0078d0c361a216a793f26183fa11cfdf0de8dd3872a6e67b3153b777f271932b5b81516be0b6d7639d0280502ea7371e2d1f1b3855bd077b290ef0f916caacd6cec31389cfdee620a6fb4afb1c9d23cc6ce3ccfee96e0fa9f6ee613863a46f02ca0981df4b14b7bbf9e2b69b2475f1485263fdd8605c4db32c73559732a9db03823b25e600ccd73f30b20ead64ea03cf9bd44a067aa822b7f312db0c981d437bc66e39af935f5482dfd42bda369cd017159a1ca1d174b109c875c34a1b032998242e49d6900c3b40aa516b39425eaf8a03842bff1d33a10f28848c101e54637ea6b9fd9db061978532b5d0808923774388bab3b53a64effe9aaf748c412f5aa97eacc4ba5e3458a539f737f98595d4b9fb967224da08b1d828cae9c5e3bf6d0fc8cc74eea18a6070b4ae1125f9dec9548b89d01c12174b441dda81fcea3aec3de11f6c344b7690fa02273250c6d5e2cb5007c91e9cb9246b25c8f5be515d68ba3bc2b2f475ddfc1702c114602a1f0746fee5c41cd0b4434b61cc2de3815c6db799b8a9dfe2a63e636c753b08969f3fbfcf8a25a4ef1d0c41f1b9d1fdbbf22f2814f12fc514a996e86b624d2f7169338bc9605efe1f3f2d2f59d6b6f1a3a80e11afc92b789bf809ee388e5a640c39b40eb43b5f581daca8fe269230265f216cddb6805607c04e9431b7334cb1a6e635fe679431b164c33d353877c1087958455f4972bce4a05f8a42dfee8a4b8219ce7b66ad0a4a8ecf13af43e407063d7f7065afaf134047643cf69f992fd13e46edeaf2d63515e7059e9ae51620c13d3e16fb2240797500884d4877d5b6ac501c393169173d220da0ed32b3f16fe10d92070218e2af48ea4b335d94aa913194eb02bae362d7d4f210e54da139c269478982a0a9c72483b359018bc00e652bf12da9fab76a8eeaecae6f71e9281290a2e71e3cf414b8ed2b4720c5cbcd97a2c89a2fe83669ddafe32a403ceed5addd40f0e83eb7a65031f59578a7c28f83fde86f12071a7a2992d4e8b02394cd0bd0f3d51c88d6b439ab809ae2a5e2a72cc40e4c3ee11426c4e0936defd45e55a161d91b4a39dce1cf12f33f12f8ee84e88a37e75ece2404e25b0f2a1bdf729a23759cad971a595fe45ab4fc60a2238c081c4dff03d506dedb71259b88eeb096be6dfc93761b9e3477eb6a56486f55eeca0f9db3714b29b7ad23a0b71cf969f8781ed06b08b1442b5073571e2abd0e1a346167f9cac02759b8c0cd524d63ebd2f7d867ead6120316657a32b6fae8180f0ec0b94e4a389beca2d9b8f3691e424c11c928a140e34514e8709096de5a4e62f847a7793944b61b29d76682bc78d96b654618c61cf88c5460fad56c4e755c606ad3ad18e5a96a297e05d2fa03a6d6e6dc3b1f40a852a44deb8dad396a5cacc48509d5ddc214577b26e750b70ddcb53efda3ec8c76faac385836542c638d3e9d93669d5a7d623fcacbcc3782cb935aeff34ca304383293834613a57ef1bdc29a01ed5657bf8b9e1159ff8f7a25b2ee495fe3820192df1bbdf0d70c1dd98653642859b2bb08f56fb658b3df767bb78738c4fd7b58435e2b25c69700659824c34bbeb2f1a608116598b44a1515bb0780c32f370b59170eff0fe80861fd59581b2da9b553b975bd9acf67b9e7371a3d51b2a2ced3fdc00579eb6b4addededd6ef6a346f058509de84d4bbb3c47b056db888dfa9a9fa48ef0249b1ef049100035d7aa4acce0b151dc5cef6ffd6536c3f63ead3603e372a655c04f249cfa4e2b6304a66b8acff0ea8b25e2e0d3703c934eb459bd9a2bdb1bf3c02375a6637c6bae6f5eb77423e3363359845b109a72b2b77d8e58f89cc663b4ebdb80f70529457bacaca3d6695229daaa6214d1323da428b1cd7cb909b93d5c0d5ca7ae639f5106fa15c41796c412d67e7bee2e7807ca632c16c4d2097bad8fd9a227b94b93a49c5e4047ede46e1351f68c957caf26e02c1a2b85f289a3be7c343cb418f2242bbf57a8ebceca45c096a85172f6e95b7011919be50d00387e959f9b669cb9f194bf2ddcdee2a7c61bb3ef381b59268970bb44ba5435c9be82fdd85d3b0c14d68fd92da8bc7f643c988d03a9fc35d179874ce77d8179f6b47dd560e75650663f631d76de733a8dd64b2fddbebff99c59445c81e3d28cbe8dbbc29e2bf74dd87e51e433f020c8feb79ddc55e61db759b8067201fe38966a61569af62ee470a16b2f7b2fad0cce4e6819eb3aae00a4aef6338e2bbc25592a6ae04c2c3a360330903dfbc62a3727a2fd05ed936981d29b45ebb40ba1ee46257a7f7d4f47655ce8084a93f5472cccfd530bfc8c4220db66959a70bff66adf1336b0b1c68b6c7a5eeed476c6de05c4f27d4c3bfde8a38fcd0e627d17f769b28c7c729b1a8ffdb166822132481883cb91bc38af50895664bcc6752b6b21f2e69090032a18acdf55f9cdf6b70524f03dfb1f6583cb2e115b945dfa396ea35c3c81284a9301e12ffbdc03b99a4bf888a2e9ddf9517fcdd8a96d9bb3bf47c987e138b02ebaa223c4ecd31681cf4f17b2dc1cd772e7ea910ac9ca24c4104a6b1e8fafbc9f52d3a30cf460e364aff14d91fe5a2a6a7b07c99c46f9a064d813f55a0e2aab7db0830637f1d0732caabfbf7b974d6536fad67acbfed985f726a526a98655d31f7590cda5e1b57dda5452007ca94fb56893c1ba3f1a2726b2e15c676e34b20b5cd110f1e89901aebb8af1e54c1de54e0294237b9dd7181f8891c55163bceb47bf3f239b40e7b56e482847cbef21218746f0cd903bbd1009689853cc24186242f3f9b9cdfde508db3a06e458104abbd84308ce908af7a4853782a733333ad86e4a08d3a1cf35e24c906656994dfad997186a8edac7c3f7b8c65267c79e2643c82cc82364084087a2dd98d32476ba3d74bb764461b5d8eeb195fd37899ca2c199bf5b46c5772e21c5ae3f63bfb8163323f0d8751af64eef120d5d1b16ab5cb22c5d0ae87048e31cb447be9b45eaf25300106358fbb30d9b1fd6fe77a97ccdd82bb55e5843891a50bb50fd17780bc9ba641718c7b40c2339ea44777e900a33ee29525fb8b394a46aa6a2b3814d81ff45b4d65465df542a67cbee4fea5d7a3b6192819844de780838d408eb50007de428b21a1ad72cb88687854fce74b1e37b7fe59c20b30ce0c3d064f5174534a9187dac3f38caa3269efe5403cfc70ec8e2a041713585dd4a99f0c01f9543004bf09f95bda9f7cf94ae2716202efa37db151244045fc0224595de44cb86949805e5d01f6492e88eeec9bdaf73f449ca243e67859e08610c4a7c6720dd18da8f88c5db3b8f8467bf6230971028eddca2bb9d07212be59c081ecdd6e5ca372edaf0c9f3ef0517019ca983065ed512a9e425c4542fc0e5081a9419049dd8b7aad02098b7ade0ba2cd9600e9a675df4391b9b8d1cc81a4f46f82c6d7cfafe866551045d82e39b7dbc48634dfb6db00d000cc02074528f29c72ca51816188a7dc03f8bc33a49eaa8ca6e63a4455508fb6f63b1d6e173a271e59ea74807dcc4820015ba631cbac5238eeba90438f1c6c9b0969aab80a073c981114d2efbed2a1f440a225b8ea1adcbf7763a66cc4f9666318d598d85457d492ed351851da3885d59c3bf1776f5553ffbaee7c32112e8d2c3347a3bda0dd8f90e8805a63146db91d31fb5cc7d65411408d723bb2103f39405ff0751e9af21aa040282f2724e63d01a0f4824af34e7820fddca00288dc5c99115453cfdc45932dcfff11e38cdd71c80e9ed228fe2cec3ef3038c2bcb37eca87b671178df4ee3a581bdb5619384ab86334789fa731c4663611d996796d076a149549a0ee01f0d1929480a3ec7e12c9c06d770ee35786df0c5d53f7cd27c5763c372622a3845a56d2780d064a19e04a89e798458b7179080739a2d4a36bb79dc8f9145c8dc6c1a84de348852b480acf3b9dc65f8abfffffc11116f800a086fed95ed27c69273b4d57f46d985e8b2aee1a9ddc7fdce1ba6ad3c324c16a219ec7e5e74c5712c2a39dc985626a0db0df3ad3b432489641840c4551e976dbb147cbc66a6801fb59332703bdb982a09fd88f914794b62ab86c2f8c4c3ad3b21b505297aae02eccf3fdadb03df6ee03ecf48be12af1e586359e640973ab596f1d48193ccb8fd901667d1f5ab18470f3a940fd0a1a967d7ef2f2bdce096270c17ac0819082b11f228b996e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0fae374a38094bbd8c383fe9f02c4a07682f7d473d35b9d902a0278e400b4e5d0531f5763e08472b12dd46e80e1402851eb0c7b17b834de7d053547726e71018468a88eb3c2a194d4d563e23cc51ffd3142b2ec5d62d6bbb3221162666ccf207aec3e50ec5828346b112c2633a427ec1dd60e15bd7744e819b85f2991818fb7b00821180c6abc601465ff3788173bb9b537f9b794418bf7f103ba3616006c419fb92256b4922a3ce5711e283e380e4d2aad72952f66bd04bea3b8c5aa8c8a16e73382e6824a8f60f2ff20b40e1b3a6c7ac3dc0b840d0c3a96c7fefeb953d7dfa7351fe2514c26e06026e0f64de4f8e431d32a682f603a35d80ee3f81140763ce1ead5fa1f8c3b2df042a614d25b1077cec1f3c1dc91fcea40c0b7c9ef6028263aa54044a16091c1152ac04f26eae4d1c1b118a659919717fc5ec6646f0b3f8b1ad8e38345f42af67e6a64493bf5e982c4e724f80fead51e6c94d31ce8506fdc287164144a7ec6a52003904dd4ac87b2954f5c71cb9f1b5bef124972ac68db3d23f123bb889136738e4d270a2c3b976272cfa467a8c5bdb602be0e7034669ce788dc6bdc6ca4aff0cc3b02aa4ab33abe3287a25a72bed18342dacdc2c5409633ed773b122b8d28a9b65d44c569c2a64600de563c91e92b01e0dc04e0ca9160e4064f722828142d047bac28d60e80351294ce402e022f70d363809ec7f9e5f1c792e16f378942704901aa8f559100b25d2d6f70dc740f3ece8a1e72897a527d6eb19a5b9c817e11924b67add615a186267c6f66a624981eabc7befe625a9bf3229066702c46d67ba84a679d6b09ce90eab21996f1d10a91a0394c6049e5f3cd0f4ec4fc05d01ea5c13098bfee7035f2079d0c3c60993598a73f5a8ccb006f28872e3df1afcca6df2ba4a5187baa65f7353be075987aa59048b02d8bfedf8ad75c67eda75be2cf70ec368bc1447c034749f7833a5acb5ef5029b5785a2d73c389e27f909198bb96df3f777025152e09b14283208c56f8dfb0c4fd772c59c6f41a98600d8b1a7331ba2ed096d8e9cdab257da27d58ea15fd33ce86ddd8694be6df8f65e4453bce0b9614fd4dc438e2e68da96f15f2dc20d4f782362062a2376ade2beaf90da391f29760211be9f4ed5297ff75bb8128c30f7606247bfa25fc11e6924162c089f27826f9eb8d1f1ad84cac7632fe01086a2a1e98309dff4b67291ab5168f36431958e29a909915390d62e76e8cdb4fcc0961a74f7fb54fadee68afdbdaa4583aabcfb8d911a2daf2e6c0466b0c96181e288ea7a6363f7dd041bf3e8f23c9ca3abf19cbf486f70a7aac10c3d555c55c12a09ca5bc654479a40bc4466aefa20efbff97f79d4a13bb42194b5598db9574b05e7881da11e05eb3787b3ae5d76ab60173fedc39122560c529fa9485ec6b6a6ea7aefcae29cda48fb0544e1cb19679c07dace99091db4ccdcff8a38efd1489813532cba8632731badb417c152f51f94dff62746c16f054884d50570c1e151e5a269b8b180ee593e873455695401522f7bd4c1b3c5df60d366fe2b5cff4269b19a6a9aca3d3769772a04499f910e72a81db29ffe7700169ca193ed01306638325df6891e3d850accd8be3c7292b670f2d194a2811fc2c85d42b5224c5ba73571b0852a5eb14d99b02b9efed45fa8a60872ac95ef818f3abd01c10b366fb81663fc16c75c17f57d293950a3182336c48ee92b07672a5ec65245d108a908c356867aa6224895e1316e584470faf492a34b4c8c020ce6af8a4ec0be6cf94243d49c93b90dddd9e59516e4d338d3df10dace4823f12ea69203e6c324667f18cdf31299d1819a004904ffcba48dbf2c69e2a0f4d7a0c16be5d9522f2437c92dfba3cfb08112ba8ad9e965d34b9f8b4741024e47aafa00347cedef8c98682ef0606680dd0441d3290e2c52acf82603035f633e8bd08207a8d1d7620b47ccfdbe469e4e30e6d15927ca47886b0ceb050e7619daaffabd79f1ef42e0daf937396b9a5976c26b1425f691ba81a4be3c6426635b5a0da16082b68b24aea82bee706f820ec2fd057f7eaf6b2dc1216b0502b3ac28b7256bd99f8bbe3a8298a0e9ba9f6f34ebde653cc14b0bac8ef47b7a74186778f1389f7e60ab7a5a059620c0f34fe0ed979eaaafb0589d6714bbaca4719d5061dfa4a72b8c1c573fec0801120a0fa6866d2f06e26568d69f8a8a0217ab149b9ec828a75677e4324632033f997ad8f3c07e13717b425702e1c86fe28902d8d47fe9fe7c423e810c3fad18f77b9bce44fb5ad3d79d93924c4fb126b7ae14c154a3ce4aa88c8841f009d389af6112a53cc4e4b1c948ddaa1d9ed61a36d73ef50e0e77ce281e17ed61d74450b0ffdab7d00a5dd2e72bc0c3c6b522e75290d143e426242fa7483f40257f81d3b407f1e94e5dba31bf5331304f5c1d92691d11a9a001323583d767681a96bcc502a50b7061865bb6478216303223b4cf6a0474d4112ae71d6e484200dbf723dca29b5e0bc8489caf50f11ccc3b060637eff91d331fed4d02c34a7278f4de05cfa39ea96252b155a64194fef54812370107a0b3657214faa6919b96e6829cdf0f1d59f84e93eb4d0661a5c4e202c310fd9ceeb07d669e7c7878abc0c336b3f6d06bb87be7efd41e7b53cd6099cb9a7d2a75d12d192c7dab33b7dc53aa732e51e6d49b5121079b9301d2782b6287e57bc4c01af2079d5920b2e2ef2f08a08f9a00277b453058f4cf8dc5ba504e95b3a5a332f0baf0663f5021fb873bdc51c13e5ee0b7d778adfda0f66c75f2e1057eaa43a0958dec071f70d5e93a34ddd5b37e6915453b7eacd18482e72d21c6fc2db58778830075f2ec55af26b8ed7cf35aa4466f634a73886dbe321bd49edb62d50d149c1a78c6f91804c79b68138f2567c35fbefc665edb9729c129e88d20fa095d714f55b60e0d4c041c96fa037f838406bf67964352e0d78357331ea16e29125c69c6f5c49d7db8d097e044501c59bf8ac05125891472241b0ef65f0cb8626b098bbf8ab1b606f0b81ad69c33a3ba1d151ffb7f0aa198d5255597a3d30a6ae35c5fb11bda395d28fbb52431e2f75687848c04ed9bd372493bf2c65b514e699cf1b5ef30ee39b8dc2317d09a762db4f8559ab4413b925ab050fd104203ba6fac6951f85b8644c8fcf74cb07a2e8a463d8dac7434790753c8550cdb951b582414d714f347036561eba8376ba2878dd0bd6281ef3878bbe35a86a132f74838a0e9c41eafb9763031e85b1871d2cf81e9c59ca32079d4168a3518b4c7417bf1b30637176a260a4b7d4bf72ca01f0731edcf11b0d3ad15d8b3be77c47cd6b4f970e9e2fa0c823140d6341503ee0ec7364efa4365f8ed378cf7b478047837201a8a731b74c4ba0849bca82444309076b2ce572062f412a603d273664349e74540638d65ec4648a706cc636b6649f7683879e59ec5892e6607eb75b27ab5a28e439431e507e33e5bec0fe02797664aae424c9b07f36e1f9279c37f435938607bd526d82357be144eb49285bc3d8fdfb724f49980b31846da62a698abcd4161dd9d03f5fa464698086b89e98c890efea32c91c19224690c5466ce52f05d5c2ac2b875068a0553a8316cce481804d0572a1cbba1370c78964daad670d71c7f3182aae58ddf4c1c08af947ed7168c8bc406df6feb1247ab227ecf4e898cdad5e6cfb69def6c5bba78f7822fc801030570e4ebeaaa5d46de51ca093229000c68bcd62d1d5da636ba3b60f336b3f9c1b18b0ec7f47614e28e59183b79fa32e2964b4e78464f355bb4cca422b48798b518796568c024f84fc6d03f89dabda2e19022a0968ed9e6180e5edcc72c8be5a25dadc565757b1ac0ac5fef7ee04b260f2b096a96b2c98dabd9dea43da1bdc2d6d8fa15510956889d989587b47fbc0af3635ecf20ce859642085b69b6a91989b78d485bd297cc7d7fffe86a991ccea5c32c64fead18b9c8bfd2299ae24bd50afabd24a4dbf3940a77fbd0eba022f00df9e943ac9abb4c8e6a0d47f58597e97ab3ec3d5ebe1fec2328d92e7866195f20b00d53bb654f102b524494cb498a640370d5618d265af1e0adfae64ab75f340e74afb1109ce29693d52356a3c49884130d1d70e5e391553b0eaf03ef349832414b2eb1399311776c2c9f1bbe519dbffc3bd57473adacb4499cea3ab2243ec6aa7dfa463b60045178844311e5cb67664ab4ab537b2925d2ce9ee3efe68ca2d68d26af273be672beed6aff643382ed059b182057752ef6f18bac93d7d31d3cbf59967c4d14301983ae17ff0469c09c76ce05bec13822302a8d1bba1615257257e60212b8dafe6659974725f38ce735815266d71187d4cba485245bac2db7fe67ad09c7d3359f1a9d38f7150bee4d597a9f89633b7063dd39b866d64b4af396a5777692834c92124858ac14258ecd8dbc951eace7429633271b35d29ac603954d81a2e829e36584a8d3639317963ae15f495fddc2dba4ccd0878629f4d97aeef75b1a5f5b083d687acaa51879dc43f9fd247433cb76f575fbb131bfbf85d6a6c028c97c08d6e745ac5658a06ca209039259b4b934c335d991c675c9ca9b7357ff2eb817ad19fb7077a66b3bddb64e1add42f37c2727224062ffaee5a3b4010d98bce61c4072923f7622b01c37dd29726e746c96378b76c1f798aa41f7573141546d066fa7c15b871ffa382f8e028ae142771962b4868085fe6bc9e5ddd95a766d9e9c991828eae58cf286253e1e3c8ee92eb418e4714e90972b5a2172c2c164c626069a0819a4609a45354f99bc416752b2205f98e6c7821eba7ac28c0f60afc34f052a2e961e190d6f463f14b3d392fe43f9dace54b41d3dbef16225298045c045130de953535606ebc8505b75763445a10f485850d43a54632019ec2a08862ee4175e607b014fdc8da7ad9ccf53e1e712b95c9bf2e85e8db944dbb264d8e61636ec59a4cd723bea2e021bf687c6af0ec9b44e41bfbc068118e2c4ce65b8988d34fd3ad984bd32f1dcfffd41243938e3b918ccf51cbf4e19484b5acf62453a6114fc462cd7466e687039d8414361b7095ae53b25d25f015acb0d73541a4bf401592aed871461e6473a83400ceb37cdea7fb6df0ad5ecc41cd9c7a0da8375e29631d561645098e617af8ef0cd7351e294bd190522afacec8b0500c48cbb6b8d701aed18ee85bd583da15a944f8aabd96f4bc50b70e874101df01f9632954bfd71f5e101f6a2356d41c7e91f0c25f54525230b2d165bcee22de2eff35d8d4c53b1915d91304bfeb6c7ba2b79b7a878533ea32df08e9e0405881b210af2adb837aadc188acf16122a3ea7dcbfe8570a5d3fee4d106ed58504a1c4df0e112cb5e1126f4a5b6e837236cb05e21e1a96be8a1d0fc4ef0e37ace04de7573fefe193571f171fd6857f9a082e9840b184f80a91cd0e7f53d6bcc877f96f5e06682d12aedd83819f5a6f55b3e31341778d47d8420aaab2cc0b98eb6e8ae8cc6720b663218406b95525f5e5911c97cebea73615fc4146d6a4caac7a92c73ba0ab46daccc678f31bc784b81d5ad7a48ae557d13e77db7923c0f24f7e7710f6a8a8f265888b3a415258312f8e36e723b4fe164c2e58ba1bb5452b1ce2ba8e5e547d804d9c1a6740d2d414aa44db5a438b3d095ef90ba83927f3b70035113812f3ba09820126bb99f4340464dcbf2a071b7043c719d75dc2f60a7bc44ba32554dd0ee46f504fe3eb908e77c8b9bd2369e9b8af55eb1bbece292cdcee4a40707abbae83945dbd419833346572e7c0a734958c7529af1b9c1d18a5f0b2ef4d048d1ed0c3811874de46670536bdd5985a3ba7c6ae411ddabe05bddf25cfc081d8bb5052ce00f0a326348a36a2de108f622f9c489cd6e2a750835345f9337cafa1406e72b38c59274ce64680a2172923a82be527a93d2c9be6624f7ce4ef45d6bcdfa89630db98d33d8a873d90c614e275d527b3394035a53a25d038a1b57e604b6a500fe12adc95072c8b17d79356a7e85acdf787d49aa94d0952649a2aeba573861ba2d9871b4a4c5280f543bebcf4bf8245c3258b05c369db9b307f8c3ffe0da84f775646d0a23ae9575bf08f16615cce47346f03eb03f7f1b266a10bacaa2b732a9d3dff3916e71a71b76a830f23db0e18c83cffc51fa9155da51fcd24b40f87e5f35bffc629b234328993187c5ed6bedc9083a120e64222b1552e9af82cc4e9adb69f2065336c2c3ffc179f9db83a2d8bf81d4998181191a73f349c6484eeff9fd63f0ca9c7adfd4d6c769a97de60576ba1509e0ab0efd0102e04b1a0da9a777985dca37d82e5574a39119a6c8d1ba689fe2f06d0c4b3cebc6b897c591485a6af69cf45d97ccf81fc4fd7b3b16a59d8fc7d100d94030830281c85f50011ca4c88f7ed4dcf3350a521b07efa3a06e0240b619c8768e467609fe08fa53022d3037a45cdddb67b42f7f2b9187c395d2d6edffac3bea4ca207e7262c888177780b28dd73fe087fc842c17a6f997b78d66b88b7d8a00eb40503b089786fb84ff351fc4352ee52088dd26d06d0cbe4b5ad1b168c0474c93b1e0715b24c52b2983debb829c8d4bec352cfa33850baf9d9781a33b8773efbb1d4b1f6928086e0af8faa6e78034327359c87dae14de00e7883183b119148c6db6361fdc96464deaaff9f22e3ba01bcd130d08209323f4b4d15a4a1904a61e1f3f5129f04c8b49310b0ce4aa7847ea0caa61b7af7dd6a0efee93c0e2f476fa2c99696d4ca4039270b5768384f40b7e254e3eb391f652f5bd99a6cdc8f84ad28d9ea775b5cf598f35c8e9b89c13c44a622fe7c786e72a060a7fa156ba2c87d6360ce6bc8a7cc340f8493ea7f051ea9d2a2c60c81b42a091a623ad5d9e35cc45d68d149f4a73666f5afb06b3d1c6a843283ae783092b1ada66598f295321e010efcf50f1017c014bb5b2a05331601c66f6732a01ede55c658c583a498599fc01f10e38fa237996d62c171d8344672efa442115602f6c3219ae057f45b80e7aee30b9518e15c87e8aa6a7ff90ca6a3f626e13376f2ca90caa6191258aeb40d776c68c966c26d257e889902b9acc5b97ab86e031ba9e75ea02ae724142e8ae851d868c03a65995130ded4246a720c1a9a532ac5a5c49115bced9ed81ca9b87c19673af52639636428c293319e5262b622ddbe03cd59af06d5bc8622e42120b4b14d4dd0ec788405518359829dc0cd56aa021d38563f62f461cec6b3460279c5a5da90827e7d744cfb2ca5efc1b4a22d1913223ab1c5fa70eb3dc9b94845a943b57e4c6cf43c15718e30695387834af1cdf30173566b2b00d032da78a0aed6db71c6a9c515aa127a5a03588faae40d2b1fd5da5924d7dba9ab6fdcf7a066db72018d7d1de423eea47dec2eec237ac4ca8faeae01e2e32cca87f33dc0d41bd0c1d2cf8e2f1f878e39490cd31003ffb0ffdc2b5de38316fa00cecaad70d7defa21fd52d1b7a2675658bdb3835002738eeebbfac91024051b2ea5c10791a419e51c06b71159dccecd1795a3410e6b2f93ac69e4737cd10b0c4e99edade28782925ce5366b15c8edd00a6afcf7252bb9885b0b89d945367b4be3b87188e42b950172880c6b01f23ba74097eb201ac18ad8a42b5cd33b5d014001f85e15360ec423a6eba9b06ce023b54eb395036cb8cf2e0c9c424a87dfdacbb31b34d69df79cb9b2ca68b25ba479c0d260281ffc307fe2694acbded0c8a74f3a817babcad98d3d9e89895d70d44faaf8d2504bced050381ad08fcd09fa5b867446313b7e88bc5a0af4028952f741da41a8c83c07ebbf0592363eec655ae515b1380d8d8bb8f6314f907e71b661dfcddc54bac6166ce84b82903c2b283a723ef43da98341dfc057a6d9aac2fba1f2162661c8533b909abe7325de7342f629f352d5c47f63e73b55680bb84c316bfdc2c929c70e7fc25861ab93992e7200d619105d3f837f7e6bd7cf47443d95b30b3808d8f61348ed3e0cfb3c6a784eda8f8fa258af22b64f29a1209f90f1bd0417107d45db5c2a30593f9155ed00d27536ed598038351632c7c5f306f8fd529ff7bb1b113d3baf18147c0f4789d6fb960f09dfbc0f810b26f3aaa098d07ead6da79fd98d664d74ad973a672757c17e3b2d6045b39aa540df2f9682ca74665d8593f6cac61a64613ec252d070fcdaefbe8ad37bbe74a433fb80d7193e14221cada6c345a15bba5631f8eb2ab2530550f2658cb34afef5973ec85ba8ee1c021bb7733ca216b642d56bf969d8abea6d69db8050ced9391c8ebc7993679b6a34ab677a0093db5a6bc9eec8e3828b42aadda24698609220b55f21f573a7eb742577afe1e4b06c6d689a7ffe57418d161ccd51c40d13dceb5a46218ddfb36ca2f1e6debea43a146be1a11612f956eb99d91d5517bc32bfd7d11bd7042e7c98571e70b8ed8df5a0a9468443e5b3178168ceb0051c8cd6bc8d5f2eb1bb855e4831f9c59998a0134229edad8e0feec8601ee82392de5cd07cc16d01081bec620916b12d28367fbfb967eef16d6bf798bdecc0b4efc072da4e7c558241a8c64e21c87e7ff92037944daa95f263d208f96c2b1023728844677653860bcb8d89c76b23435c27c0c01803349f3f57603463a5f17c5200f7ca5e8bc2cc9ec8a2aed43d5be3dd7e76a9a005924db6aafbd8e546c3e5153d09b939b22f4d149625d368af37ec162b3b7f119b7ceb2fa5bbba8a6a1798a0fbb3c0d67b634aab9fb5b9f09ec15e9f52c9405740d2f8383d5fc470830aa4233a7a0d920cc12081cebf604e633881d57ba87d5479f3207e04505f0bb7ae021af16b7cf2549eb72465ad31dc398d8db848ef1825cad93f927b4e6dea20f397547add97b8ecb183cd4799512a9afda0d6ea3081b6eb9b1e61f38716e20482d8b9de2e701c5f58634e331ac21be8e5c762daa0fa81c8e1285f80ccc880b31897a3b79dc5d654c9e99427ae122eeca2bb11a1b62d5b24dfaf96b1c4e8180244dcf99bd527014780986468a57113b696026a46322141ff9569f6b7a446b0c12982099fff9491564c205bfe1aaffcdaa4de275de30e6eee44e1606aeb1c5bf9589ac94a83c5e3ee57cfef54117012566889195bacc26767745410c25f1283ea9b5553c407e08128b37b5844f9cfe940decfcdbfe1117bf55f312ac0ef095a5b6c78cf4f3d720fb10e50b6bb4775908b1e7cd53fe38e1081d0083657fe878e081c3e2ca0fcaac698eff1d08cad151d3d02e42c0ee0fcfcacc129c96fd5a5cebd73beef3d10b4532d104b564b9c3a2acb4e4420746c3f677ece8a97a1ba70554ad029ed068eb8597407a27b7ebfbf6e2f6ae6492fed9aa0556cc150496ed31c8c449d0bfa67f981bea5aba89415b11d633906db804a03299c8fd5a17be4c8c203865a92848ad8663d24e6864f5fb726200/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.68.2.src.rpmbundled(python3-tornado)python3-saltpython3-salt(s390-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.68.24.14.3ii%@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?@vzhestkov@suse.comalexander.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- Make syntax in httputil_test compatible with Python 3.6 - Fix KeyError in postgres module with PostgreSQL 17 (bsc#1254325) - Use internal deb classes instead of external aptsource lib - Speed up wheel key.finger call (bsc#1240532) - Backport security patches for Salt vendored tornado: * CVE-2025-67724: missing validation of supplied reason phrase (bsc#1254903) * CVE-2025-67725: fix DoS via malicious HTTP request (bsc#1254905) * CVE-2025-67726: fix HTTP header parameter parsing algorithm (bsc#1254904) - Simplify and speed up utils.find_json function (bsc#1246130) - Extend warn_until period to 2027 - Added: * fix-tornado-s-httputil_test-syntax-for-python-3.6.patch * backport-add-maintain-m-privilege-to-postgres-module.patch * use-internal-salt.utils.pkg.deb-classes-instead-of-a.patch * speedup-wheel-key.finger-call-bsc-1240532-713.patch * fixes-for-security-issues-cve-2025-13836-cve-2025-67.patch * simplify-utils.json.find_json-function.patch * extend-fails-to-warnings-until-2027-742.patch- 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/shs390zl37 1772727238  !"#$%&'()*+,-./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.68.23006.0-150500.4.68.23006.0-150500.4.68.2    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """"""""""""""""""""""##$#%%&&&&&&&&&%%%%%%%%''(('))***))++,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++--......-----//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:43040/SUSE_SLE-15-SP5_Update/d2238407684fadd4f77f16e84f06d653-salt.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-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 RRRRRRRRRRRR˳ĿU#p[Xu # 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-83f6a01a4b5fe48e7cedab077f939d7ed1c7e7cce22f642499a25245f1fd6e7aa?@7zXZ !t/\]"k%pa  0X=oh~py (E4! .եY  aLM.ΦF)զn|ͥʁyGs9[zza̓l033QHi$P*8iX9A9bnδKZݍW0)+.%T}S)6޿qJ<÷򀬑bS7J\av.VҪ,js.֞?-^:C\GCUFwz&sl-o\0FIQ8C=`M-%>݋`iS l3`.b%xq4(YGZ* cy} *Q~Ӕc |ׯ&۸kvUx~?b_'1~zJou:Xz*:X59B+XVpQQTHMK䀉k~莃>zCF3yfjq#[*bSU`t aoC2x9Ч:f85^m~C6P~{="^ lTyXf/!7& 1pg}\jP 'Er"n|C'7%ƽ挜k::b/ivq/k nNd3x:S44֜MhYYce_S\ !fn&ˀҎȂ<٨0+uj@T[eP_ӟcWξ^ov-9%R!9¨ta )[<^$Iž5g*Eio'a3\"e;+{&WޠŻqlYO߫B8]PI4uLDưZPǑ;l[*uYbKOڪ疲秐s7 XyԒHR {KeM Cf)~L4.A ^NE@[S*&ȬF]/&Wz hoisҷGT.X[,oUdU#լN79Mߥep ;XDVLKz(ynlS4`[)j|b)k@ׇ^x`'" |]Qb)i:@+Npdu>hTtQ&J`(J./NPSZDW L!f4T ,CIs&=$2~q L{ G@Sp(*UJCҞᦦV|mE+CyT]h#Ճjn!>Ȩw"ɳIWf<v8k-Ih,C49߶LxTQTx*uxEs9K2kX,!S=u s*FXMh CB/h2~a؄ú9!{-r5 _lmew0z;H<`ќxa#=-1ËAu-%0]1L36?(jW蹩YOm8_hok*RTL!#KmZc(zknii.GV(vr A*ϋl&LFk*.k-KN!=e@CwG?CC>]ab& BsGoŝڨ|^,hid쵧n|~I*Ğ o@ U_%i3x2s4/}{!u 1g,1A,^FllzUUǒg??:-D7uQ?]=c}/ /r%ioS7in{m_ƚT9zFf54"0g X!4cf#OY4%Y9ǢBұ=Sv2Ν `9x_݇ZN\1[V3 'J+U:ccWrIR~&>wmHdʟ&!i&=+ȡ%# 17ĊaaJAcX?{|ZrTLdHkkUn2b`0GtN=.Sb`8q k\u}xZ/]0Fgbn7zr0ɹ̖E.!Ob3`Tsg ܈=ui[B%!v:$]fT@1r&_B_H,|1GٯQK9+!rnezx$1kXV1 1#;MiߐޑO$# TZdᄸͧKfԂxFqMvejF}/6Ѽ!/-.Wkdv88&D:]!S Yyp 0Y7ܞ[E@{[f[yIp}`StX%1*ٸ>QT./(X+p ѵM7%[pEPT;eI!ogӌtul fh㈙E9#Sm:zdֹӢ [~|yPKL 'oq(ڝv|7u.ΈW:CòfAv_=?N“,0m>#[@Ն(0!eB5pj3#q')-_2B^n1B؟U~ m%{ / ! &DzsrH6'Noo՜@(0 bNHr;3Q5YMi7Q=8vSF](w8*> r49Oۮa}.:I5q9?g-1Y[)12`='"N\oZc}IÄ*("ئl'l /G_Bwop"ډx=ǐ  >B{kp=b6{khrr O)juKy@"UG;J{yi}X }"ˆOO< Tc%qNp)=ak_N (.\(E Y1:qenڧKP.5%܍fx%x#oA';+ϝhM7r7'™SÜQ^ULx\<#qeKt"-!9,_~QMd[Qمw8\ ;ueC#EmAXZbV9cs8" q1ڧKrڥ|&(T24N^'3i5,;>nށwe1Џ+GX<.EU5k$+D ㍸#fЁO1kX!bJ)2"-6M/!51huۈdY޾=3rٮCe`e^s O"B7n!<`S.댭@ә ǃO#i;.RQĉr 8U6ى}k@؞TGٳf1fى0>$ Ljr MMry&F`?^l {HV`n7,M"XX:CdIqC h[շi?wxT7+l F Gp8JxZsG_RYAfG}=ǡxeD8rq0jh` (OTu p4[3;V G͓'2BE A*|__wꙶt䡊kP~S쁾Xct;)Bfᖙ4P3~0J./Zqvƴc a37Y{;PjKT7<˚nŻ-[ *U"H/c`QNŁMOtƠkpAkÇ  b2iOV&d~GkoEcиʋ/V^8_H"in,1+X<_r*OVo6m-BoBd{=^Og4K^'! cWe@Xy@$͐鷫?NK`4їs0ķq/rx))c1w>9{[3F}咬 jmgcw"V\d^G{ymŲ܁ht!Zq4x}фHG꺢PGR:M/m6(|/;Sh |U-@_ʢ/Ҭ`vhhNY4xD!n&v:?oّq?T>WQS DkN+/1D%!w %{y$K :“S*t EP5i<:XxR ܶr9V$?χr&4+KWF];bԮ&.\ !@3I (+yWAh&iA5־ eك608Qs043brA#e2!Rn9iI3sYH<9k:X~FMhҤx{gU{Lq#)$nPlv9h 5ڀz׾Y$ML f2u^k1ƛ-߆Go|wzȱʖ`6=r.9؇ Ə|Վu<94)UPJ֢F{ꋏOUXrߚ6*8O{Dj(za9}4Y<,ksVtR|0$[0 ,0ݨ8Q 9]'n9mavuB];ÒbV,AÃd[ԻF(Jd}vH6J e> mpwg\#&v{T7dNiR>10Xg: 3#\* "#Rm~t(|W?CTr 6N$~^̫,!Vkn~㽼(#_qMZ%HN?G0 }ds_$g+!,MߛtU0y6-E@^2. OB~>5QrRfWr4`A.^-,L$:x=P}骮k1& Ѩ:Ԃ/vg=BjyB{.U wN!Ao*_lrvgvkBJ|=1 4J@n|6N0C95/ZF%Q/Kɬsԉ]m*P%<=1|֢v72{&BuKLڨO9_A5mP8G6#GөY,V*ePCL0#||;wTq}.YNaf #/Gq#ۧk C~/W*f;!8z I~+~B[=W/^?$_W jQ+vO FT2 9Uvg1x' ieۖ1/T:Bn#Xb|4T8N@Љ2JG%`|+3&oI~ 1)3CdvZJ#34q+o.'>uh}&ZfÊ{7I[y#wJ;R ^N>͘#!i6">q~ʈs(Tp^ GXE>Tl2YN%}{X\eQǜPYloH3ʶJ|Y=F<(mdeo_ 22$Ex|F'!@@?.G`m)EgL)*bT.{(µ갷g&o &}oK( |UPWslA Σ'9-s d%!WĴt(.m' #.i%:Rbނ.mL[HٱOQ&r$NSV)>L#e1:ʆ)7ugqB'iH²H(|XQ{Ʊt#ǂ4^k&sh!c+喵GI-( ߊ (a|UQ~ɱXC?¤K>$ %dAR e˿B''xA]HW8m*1nθ9R Q2%W}p`ɍ^g͕mb䠝ڹ4Ec0&}B-0^SYSeg{Ќ1Wv kBWqTN-ܵ7T`=̅ԭ;Q<.p0/Txү=W2+cL-Jݒ37g'xNWUyn5Q Wv{?u dK*FWEj=a!R;>v`)Ҁ{3}íǩ,?c]\zEL"0^;\M VRrQ)9jRB=0za JY\i)EBVLU5SNR` sRVJm`mw~YRӿʜij+eCcmS cGJfMFvШ"W-Lm)޹HPW /ɑeT[ߖ̌278,Iu#Uh.p`dBl[C# j^b9ZKMy#(6Lf h7(u6ۿQN;/kZO64T WB[r!RV-3XF>* id(|}8J:cەVɿ\`,(H?"'+W3L(kσ@'} :)tu(wPFOG%!E@O$M'ʻZiް^6lye@ uݓpz}FN5nFsj\?c,+3L sTh3TfD>fpyT+ 1[6Udb1Jx5USCsfalHY}mj"ԧ'^ XG0[k& vR8[Y+3Ϡͫ1;P "itojS$"эQYbvq{ڪJo`}u!Ѓ%1~UUwIeEbʕA_o:Ke^uI7):qQ5\n#GBaz] +G0sw0 sRdKˆb(`m؆\: l)I6T] -LCv򍪙C+˲#rH4O>2lC(XF|@|W.0'/j*Fզ}[ҩq Vb/3vڐM":%n+`F;٢6ɛ$;SWn-̤*HBҒ2h롟E;c=%ܟza0sKᚮVP2+k{})Sy-Am9,h/{jN["3gdgA@&H8Z3WXά޷GZ2o(}B aSDщ'[7=+(>ƣ8K1ivZ!.k̽j۶HI5A^w^Z> }y;g˜S`>+f` ٿ戮Ulo-7)_iiً.Hw[H| x I&֜D FhU&ƒ,I:+W\}!I9WܐJݠฆگڸ:[V%W!1?e:;C IEM hƋc+\E$6,1+`ϲ|ˮ^plI=0x_F}dS-"P^}+XWj4qWOTFnZt{@:gF=V$L圗dfWMgdNicz^;'8ކn(" c$ O ~?SHFo{XHVD0:RB|x.i^re! uڍE'0Tz\??p[Q37忥[g:Vȸet$[ϕAF9>1Nd5nλ( ޸>4q􌉇!?vsT3kR^:_.*ճ1Fwخ(іZ:Zke)W'y .=4W&m_pN":2\y"d%f e8co*._{TXme@,ywXF\=(Q|$'yZ꽜]Qi0,V&\ MyFw"eǐ0ƜU@f 3.r[[,.pc]Uˈ :žװ?WΞ•HDMuA .,_\Qz]q R4N^ >p T!.P{?_(ч/1,mhh2uSm$FM,HըԡK M/c'bt&^^IB! ӪG0SN):,JԈſTCLA`_9t4DuD`W<"(sg)JΗď1vc[Q)i ;*xn|M)>-tA#Jl M>=vgy[6򓦖-Y#ΠGA=^\HњR7#d;5~UϠ'2(TMȣ3 Z=:lgD(,g`_p@?uK35{U 9,[8äv<.=<S23c qJ`i}b.o6U{F'`(2p+E1?4f8y?{O߉OL<Wk:ܭ)`٦v2 /CKDyXʞɾށ52cwRxX*> YnB]0@o r%?bݲ BX0/}nݩxȅ.Υ=ߖGoĈ r헧xzA- [^ŸWz7[MQ&-vizq}'9#\}mMdإy[x7Y_pmAÎVd6,,XhHT[F4@Zot K!q`VD|UMW kzXxQHv8uB]btAt?sD9lJߥpAO''ग:It!Y${h`UM*2 "FT/h/]&]Qʝ,!ד;s־YYsɹ ] Iot,ƿ'0{e? 'OT>ptVױ E@g,$`p&g h!˗r$LUuț6o-K+e{H4J:hG5 )&ELL"|!cNO@_n"ݓ o@_Yzhu .3(|yd2"ѣTVhMK~`#!g⟑.!\Dkq#"0 f」 IR>L[לYLJkz2^@9gF kdYi+fy1TYL66QE)N=3,9\ݐ$XQ҄5P[ @cUqz ZoUX +-v=Ka̿jIEV~u%)lM9EbYnvPTvhn+ZkO uYBן[5#*')9.ղtt2N*B{sx0A_\^W[)`U[ ۆ.>E1qj<[شjȸc;6k8q|̡] o̳/\>2 Ӕ6[*PYY=ʖ$լ܆Ba5a,#i#mfw/@C<~y[4?o %CR/ۺaOv%w FWP HFUco['˫h|"v sDT?i4ЄH Q&Zb+8ǖpvd-yDiX[Su/h?ty&ʼ1~,` pYȓ=d0ؿ ~ܴCع'Zbt4Htd j) *L44Pz40HND~%o48n92PZUVx M5UgМlOކHޣTst]>2+vR]z&鰜lI["ͭ,lF~:gkэCc~.!UYB[s ҇O4-Z|ڙ2F<_ؠRkaP!Y7n1+ΰed\؟Liz𵖇Pjv UJCx* =TQDq٩b|0x\М8ϻs>pt@:(كyrX{tb(I*>)i`R0/D'|{Tf\ohň7fC ^룠qwhon;3 ,XIH{:XOX]_û_ urNT#o6u)Z3z#LN g,)޳1C{~>jfo9T 'E<L5QMhl|_*8@Ng&,Bs,Q& buЪcTиO'eB٪BE8#qKJIJ%gJS(T C`"ߖwngﵲ-_,CjUz0=l/Nh Y"],6i~Xj%Id}{s#>~bB,!Bjh O"x7x$Ck+!q(+Z_DZsr>e⽨IzGt[W rY2`-YӱSf{m;*yPˆXh81HV<ᇱ9qƱ;B^V+Gf6*NhV+LX2fgլoe|ͲªQz`)/(j-rz{4BX?Ys,~1;7v򫂙 уwAm}9nÍ\e iZ[WoNM)7-KVʀ7N E JGk4U(!K˱h> "[wq:x'Q i6^%0Bi# *ʰ+9 >KٌE[eUYFIS+LHl>,KmWފdz9C@kx`ٍqX=Mlg(%yXeN?mɴ v8/m>llKEo!,4_AX ։X%dɍ. =)Oș`VJ3~TiQ^JH⨁NbEʸ_پW>ȣx50P#62@h MY] |poG̔SpV \^oM_Lm t%2" c?9V8YX`^bԲ WШDråbڰ-M}LDŽU憐`w5>,{@5&Ϫa=daD{g_P Dd#O+a +D7EW*\}Aǜ)>hOqAPsJ wHi11)*_U=g?$l-MD}m+8[qqSEA#'G;N5:W4ߣ,wRZr XB,ֱpl zgc8_A 1Lx:4"a ݧܷ.<'|#S,Z} Pj[C\d 0372NjE(+v%o1呆% x޼02lwA0x@pmܹ&r%f T{(`wKY@ Usն9qCEFӭKv~L AeRBٙ`qȑ@es{*>c:{1AT\w,>I>#dgxcqp# FlPjeXUCa_(~ƍggf=J6e@}-M3h2\ڛ#-X[aOGd*NE0<6"_)4=);Ѿ. t7䦖zM(vߖy=tJ3LS$H1Cc[Lb순ڵ.X#s֜P3䶴\J"al|oeuRFI `~3SEHGkAP;8/c3 ^n&v=2NhKŞ0Z mkf0Kt]XEls ž+ 1݀tu>BjYy `Aݲ.x[XE0?QmF4\oTCyj@ &Dmk6aT7%\[< ~D~KO?PgW(|1Dj,H>[}Z3BLi ]&F$kys0' g jpWhr3 gg@'ڐR6 8E7ɢmwM\-pS"TKnd޴slQl'nZC~&tѣ9AN U[IF\G Lw ]ٲ~\}rzvJ]#-jH@,u_)Գ!a,s8<. zW:0m<`A*#9zx5zlb&|ڮ3;s5e݁ nS"WMD'oidYaX.`Ÿep/cNȚ28sp/Myh?o{л5~t0q?k3{iLP2_â6VCVC%+᫼Guyf &[-Vj1ըΖڛ@4I OS\#uE|IR;@S֊YCnHؙC8vr {FIBDUekYH"`懄a1dh8s8>%W(Z`uI%LmlMr5{rt<^Qݽ}PL c|Ȁաwr3A$ೂr+- CR"E-z4ώ\YC*3I٨Z1ȇ& dH۪;kM cs]m.# |1ЈIDvS#†=ÏDM~z/6\D1ra+ V9[?}{ơ/h():tWy(!?L޺NJ3H[9^t9,hnvsg}z-cQ֎gy> T^x̵ 9joXJ:JF9iRŻ7[H nos:l@Eo 1(IYp⺌^ ouR\St}puӼ90;^ 0+99ҿq1fV2= XTe^@l/p5p42E@aWa/"m}c_PCOFMo؈/ڼgr~SI3Ygk9H#: (w_wS1{"Li(Zp ¡s*I[:˵Q[(!M;eOfca%ÞL+hei9ɵ#vpA7r-l(h?y 3HCџ]ūjQIeR5A.tKa#WG>n[IAJp>E2dnF=¸/.st=zPXqU/9',`z@8QwjAw$,fXQrz70`"rG5 =ӹocx*h3/~- Re\n6d"7EgOU/8nx$$*'}9q,lj "$hc$?Z>?p@%ܺf:|+]S+}>gN/@,&,5j/WWIKDB,Rx:3{u@g򇾀D>G qCF a^|*-Ph6qܛ3@[7sSY08FoRI@ޝMHߵ"L\Y֯EYØEq"zvGo >:\o2XZE Jf 6\ț>a~beaM| I'xN|伞ZYjPq Jl =N8[mxsaαt||WH"Ey 2-gL@=@f,DTT$1ǜFDcKɬ$f}=g)}o>azы;DB"um&3o$íKdzTR9h>SF歰P<PM<⒩6vc6:G73w%9  ]U'OQ;uVrr_(vxQ Ijt6FIiT*3S7Xz9HT"W40SQq7YN{=KP/݁2LNe[tꔐ1HkG lE]_`ٔ 2;c&W{㩳B:1}#08i~ܤ!MC{O E"kl>Ԥڱe򴢖%%ƯIiD{m8q&'Y4Z_{rSx: `X s  r\/D 6 Ղ%s ۛBlnyClFrޖ><* ߛ`i7pMuvA0C͐ن_ƒXpЛٜr螚5:OhCsZOwAuE7| 0F,ZolXmFmRb,4;6acSP(8ڴ䕞 Ί" EzCD ଛz#UvBF/Ťq2YCG M-tqxbs.j\7M5aݕ-<5dĬ.0)}Z…fۖEjuXe)xAhE46o?c %h< >W2.ή !Eo,[o:Vn$Iퟜ*cFxs0 DR =$]x%jM2_%v"5tU!V'LsAvqz{]~F_dW KeEIHi5xq Frm63eqWHAjYWKm"lWHs9? +rxCnjfDVֆ̈N"5 /1fty$e<Rr\ט ,0'LS6WӔza4:7*v k~R`%Z0UtYD:Trg0i"' uBM+t ra & <hzG/ؑw|"\͋n"Ug^ (/\M|eKEξ) תvj/:=*ClI!Q{懇=wlPI1qIK\ܰpRpΗ:Y8K=fthkàݕY)KnOS0{Q5c3.*0MVL/opՍ-@d 8x+ 75?LlC'~uX8 zYg" v7k%q;?"5*\и<)y>SR\3v@K0}vMqe~RG/78>a7ނ7ڮ FmDfzBedz']ȶErώSiÑB$N(TV5ĨOHZ,ί4\!B,7hZi'dQ~^>Z̋/N=T}yeU&cpċCUgЃ u8 { x{^%SL[Lg] 8( I8;ted\9ZՔym-_tPt|t `.qu ma,hñWͧbʵ-[m [<|3/9V8bh\$PJ(t#N#Ȟ+z..kN݁A ڶci-m%ԁ٠ޕV-;bWtμ Ѝ;Fu t ,7M X4uԍsiقI$C,vQ@ H'F*wyK2+Ŋ:fŽƳ{/*b̔$ȴ3Kzh^?,1CַHJ Zܬ5F<;$.$JIʠo|ΥVpvkໜEp0<d?$8mkJa^)) d\׮@=ц<Ь^6[?ju{i4t\/V/Xg'Ch섰6PPAQ;ި_KbE~J:\xRx@_O`b\h0Ko~MެJPS8U>S&&6ix`_Ǐx7NF8xW V)Kffٰ.UZY\H&~7ƆO MTA7uSMpPg6ʀ{JVlBe)v"A5YjK* !n{2$􆨗ԓdB+;,)]¢ Ԁi;Oݬ 3*UfH!Ofc%z?VPVKyO`0?(#n"{<;`}D49BK#WcYa2Pj)UܼW-ķ[_z6X5Ȗ|aJY 5mkwY^ éIc~{B09:–xq25iͷUzN#Mu cH8ѝ@z8˫a8:6&@l_  Q5r?0W! :W" `?dJ<d> p c%5X[q7Fkm`oΎK'kp2Gx蝹M^ѕrmw̦ҡYY, 3tK0#vipz.?#Sdײ`t!4P^Ic GКA|~htxX%5aŊ/WZO1~yĿQX+mịK, qҼS[ u JiTJtB`l@p3sIUdEڮ l"iqd^=,ƛhޱfNs MM+L&'\~'DQa$7gUf]4μ>.ҽR*NF;]LRK#-7 ?Y1c;> Si)t'Tgj.m+;q (L :ZNі<F!+O{eĢN,tpFW: NoR_[Sƌx8.'*QSxRru}+GeƈbJ% $,=R̫ݠ?H ne_3J „_JF4vFs8iaJ.K1[[L#WQ ;dU͑}Qn ySڊsiY{Udm:5oZh./+>bo@G+û OdD%0`0 e.qزdLD|` 9qWȀkCI.؍YEv# /Dj'jsK"cUlU̖ϖy\x3Ypλ8KUesN +<@85$G$} iEYB =Rܵrc\ͯatS[̔$Om ˰;s0bzAIs)#?iH]x8" Le>݇IO:H0t].*BǼܿs~G,n#(2c_b7O#sP PUWbYZ.0a<b( TH:Jͨ~S΃  /Z&7[ ˈ@,]Ô]nG)\c^n=26P-ru0~BX7ܿ:ɝso*N6W_])zǒ]wurNo JJ)VqĜPFeX pO$B}(ؙ29`@?"έy(oW@3,_;$HgFE5UtбoW;/f&)qy ~wh]__r֚Cpx"0pCEY;@- gaTVa}E` '=uN57~Lq[rk4,c,\uȇ{QW~a;(MXq0čXc;W~Ofb(+H/ پv8ȘFzj94ȿᦥ͖wf-xtxS+hbnjÏ=Zn>{v%6VJ\;ϣ&Xș6YC e<*c֧RtQ}f;.a9斥RP&r"E%3>1g0aqX%w_$N1=B)dS\y X"".qZTpP5UZfW*~aE?p! 1Ej8> ͖i*P7xf*e]~ܮDTR9O(YRsα\q5Lx[Ln2q2!,0/0!A/08zBF~kڄgB˝}Sx \nPZp?M7 @_*L)I ,'yv-㍜-zg/wClLN (ŐAĀ.Ÿq d7"ً?`A<\Sc0Z$^-HKLـk=0"#f>hc_4zו04+gCCBu9bod=VNjy9Nfh7_zA|w_`I8 [;9f2. B #TJRB^e~hh 2pJDm;㍐C{ 7ƭ,?.ۃjDcŸ?fDlzh7sm~5c)ߩ9:vׄǓŐmvtׂj^tA]F5deFՍFڈO?vn:5V,cDHJq9xTi}sjds: 藈C4=Єn,<"3 TnV0w}Y{TUԊsT|efp6Mq-"a3FнJ%N' Qe+ڇSu#ic]<9%Nc&xm][1UoQ!R& Xh\Mp*ZE_; P- n;7 x}vڃ`.?s&\6|@k=|o+-.#%}b,!:B^pIG@G kc5Z&XXpi:};O{=7"rWyQOد|x9%6P}i?i|R1׬P[zks1W7l'݋ʼn\3CY!05@q@1rV ^VYGqlRz"FaM* ?[A{B97ϧ9Oho!9/2ج  qǞIs㣹# 4:̋C}Bn Tʈnw[F h!qw/`ĕJ\Y-ݏ+>K ;^-䕇el_?IBDj# CMn>Zп"q^k[JVJ` frl#B*" Pf@'wxS1!.-l@wk\93nB 鹸)Ұ(]jHei*vx\e$> BnQay}j N=KԉD].%8;m{q۫gTh~G斓}?٣}AKi-԰pqpYY(DFTM'l0uB9/"U,žT ,-9"7y9${^z:E T度iM0yO^#~ӈPX)='/6CO+GwY:=q !7OX!487,aǗ%:ߺB٬{9G<ً/co#bD C6ϒrr;y`9c%]_+Limg0}Ulܮkr*F+ C}ayH'ՒxntCǟ֕R]o>LsGC .aIuD1o5 f/9"c HECbZIa)Mpp d2Л'E_s(H6jǐ; .V t! EioR`72-Lf M()nQ[Dk7Dp{sDq~mE D;;JMB!yHA&ҴŽ,IYw\([ZVʧ:VS?%}=ʯ[ P5 <3~iCT(rFdn[𿝬66K1>jMIJK+q:S5<*H{7s' [rC`%%gTQQi>x{Tnjs`y6K=VG=Eh%G𒗘KtM3,Z;*5,94&P#܌W۪@`sO lк:Eav:?|wU*. {bhí qW&Ȁw(Ht|:_r"p ef)*+>|]^H59n&h䚜UgfaIvk3Q<1%j'GQй,ͩ _t$ґ{ W{j)ZϭxaJГμpE84#L1"T.PazZ{M3+ B$xQzYGJ@9kB`KhSCg?.~朧K-p v0[n`53r FHp̓5F(-~F KTLq!:pMTAgiL2'ܬfv*`XwrUս ulamujƪU9æYAq5TDJ&'x'%\ FeS3! B] MacW h&`vlM:tZ;D7rxrݕ3Q,yBZA '{pA@i tF{vP_-10^Uhܷ%iw74d`&8ǘ U_)ںHu` s2V1[@TUfAWrї}3R[M/  iSHs7 4O4!,#/W@2|TP֍&zUW<vh2"51сܖƽwiY|r~eYX[ \Tt (!~|_5[`8ۛEaY\.(V,i EwL{*Mu,yON:j`#7?lԀFzVo#{s8^3c>40MN+/`|A5BTQGOvCX>Pdnnq]LV mevo®D6ml3TM@'"\ofSOm\ 1CL@( -߭Ƶ3=8.xtOe\wk}խ" ? )9emd3m4MyoӬ1c\ʅTzFZ7kz* ?#IKdT?Tc(=nF:-ՐZs1'p'D[}eZ MRMѺ@.-OA%r65 =䰺9=/I;^DRb(C/>MGv8k뚟f8 4MVf.rjWB]M'ƺy9j~{wsu}h7G3$v\Q =&TnL $1G%Ja?^gMu)/OGZ:"ٿXA()]F)Ճ+lCFd,Ioiд.b0AtP=o-B)fK/IPNxmtk_x1X*mtp d|ilғ aĚ\lq3Y$@8itOt.1򇬦C`(LjX[^ײL_? i /B teմ_.³ΊȒAB o o[ӚE~ucbߖڔS3_}վg72=A_C'B<-nغ&yV,xWeV=W. ؀'9-l̥Z#\g4۸ YO$2E<>ky"vp32ko3,Gj|@XC; pZ}@r6$Xg !~Xi.AwgbncZjz bhI^nK^Vz%MԜ Sݰidl7o[!ׇHJ+6{CD\Pp_bCmѸ{0{sIP;;F, +ȴM}_S]c>,QSZ/U ?5,Fy p},Py2n϶1}(L.Tl-&-ə-DB+GUNi~:KPRh0}8ALR˒5*J]YC3%Q㑞I 0:w6;ޱ3Vn:^wƈfw]'xw{:uRUF1}R*(=2(5w ՈA~8^( Q bO<%@袅Wt@د>MuzFʮ3R^j6dhzi\{P)|=)Lg O4y)[s^Aǒܗ= }!` ||:YIpIXz^lLbency}b6bЭm)e'",6 S^n[B}-ϔ9dv,f X#VC;&&vޔrAzK#IqV:oN:-/LUpGPJ2|?C:6UhNg%YDeaz2g1o>tHUvDԤ- 1[|d!o|8IqۓK%>$m S1lD~)nevkǕ鴄M!+A=sjgգX>R~ `n䶖|yՊGRg`)_،HȽ&C "8:נvzǚpeBBᷙǟd!4\2,A`[ ˌSy%]쁬*:h!E*7bY3B~GO.n'oDo;:}~r^1HQ^(J |2;*H0/_&N6< "y s &`8ͥ7^YlXt/6DgzBnCBPK0aI+?#Y]TRszjiRmy4Qz1͵,9K(r$@pƫ{?()qO! 4`yEML+@$ڪt#U}Xmu"6b9,D|nU L\jxx~0* &yTߑ"S@ K `փҫSe WmUF̦^DLjK8(l%""U1+*27LDkeW> 0e![tN+KS/6՘<$b&N,X.زlNܦ@ս 2Qkq͏'Υ% >f!j|^LRGV$]*PcU¯K 2I @O m(e jMs-DiH[72KX=YT2ne釦j/JDT/wI: ʆlQ{q `y!^42(xOBKԊAǾ(O~UT,Bk-\SQOnNq İ^#涙47;vFK1v  [:%AZՄ35[:0VM[EAPڲAr-~/PʿV5ڢi@6mƌeݜRy[1;P$\)Bi \ղH'鰩~+#Rn~ܮ%kVۄb&.F㚬ؘ`Uߝ: m XB{*EM}d֬]JEJ=ŷL2T7J{n\K=[-[{߲k@j QEƚ7+(/]~, iŚ>Lzl;uflWgWJհǣ^RKb}O<%!" 2Bo|Z`Hoۓ'JY aȚB^]|k;s3Ao ehpi2ljm=`l}vAVW9YGhh>;˲TÉf[ְƂK;^#s2 q}9hS6jKKv=eh=}fRoZ+ kOr1t^".;݈,~3{<ȿɱ>" "ޔ,۷W[v6" u'oG(BW};CU+ނ-X)$m!I F8RG%v>Ի0PfG@҃?].ž:TaiW9~49 C+|LEm VE_ ).=(3BvSimsDfYCAA/AAt9c&Ҹ=y4$ü+F0eע7 7*hE5w\[(sKmO{up0>4V V>(,D»[ՆxSpO%9XzzG4"Ald*9A1-wՐ"+苟Y-1buK$񔡤X\X^+7'G8Ԇ3veKXbʾZ)B]>F ǶZ9E6q,@FĚռ'E~#!V pN%vզoRkg)in2Jԑ]ьԝqh 9<"&{mZAt0 s^$u,x%dHAa2o2 2 h/ ~fX-y$ dݸ4U$4[[a5"c/ ĸ%_* }5 3/TԎL3n \(݉{̣Z;utN#uZ0k0Q8TL(}].Ib#Jg SBK {Ua+s!S=~F%þ9N"d3GBs,4 yXjͷZxՌXA: 6IU[(gtW/א,5x L D\e2EC\"tQٞXk112 ?YQuE`B^j$A_y1VUւ:: j&FLՎGĶyPRQLrQ,iE6PF[Yڕ5i ɐ'UZȠD<{% c5ƺb$˄K@KG! w yKNr[%\9AK 1x L5Ak9g*uqh.g'zB(9{Kl_c}2 Ec<2(07xo))Ϥsx3˘br(bqIT?:- 13*O Nn R y]nr_[ynP[(vbbӦ0P^IUbfM<^KΎnBqS|[J%O\YZEEұ&|="_|݇lI,sGI3GgLFsZ~dca iZCR1xd{HQheU󿪀 gzQS!IQU|˟K 7l{i3EOrͷV" (S }HᛋZb?QizX(Pt2p*)/Le3\8}9کN-2n\󥔢3#Pfo0h؛W>(?wKWSqNzXxZK1qPXPGAxbu~nf b0u*C`~ A 9 ˕je 1^>'AS{ԵuS;gUY뽫*[FTTHc$j %Ӵ:zbbv^:-.߼r-d#`^$KQ g=F[rp[q g);0f" W..[kέ&惓MV$-}S̞վ5բ Ct-d!l?=Oόd\V\.t2Н>©{ 3ìh40*YCe%B-k,8: ,#GD@acG{UmKZЎ]!:t1 N:ZF3( @FDaLNcOQS40J X'y{!֑]wٳG?fϊ5h-i}%iѻ3&z)(qQ;םDDEF~ջ9A>%40^lB QқT3?@ܢgiRAsϫmvuy]NuB߉ra e3*W ⌲yߚvO#Xd8d Ѽ6NḩZX\] ͉ I<җB q]dO)fr SY..5ln\$Ò&2;-%C)N?|{ma.@[9kӽ;Gy։/W'5 /jtNL4[ غNgg0w(< sads"9|:٬$)X=j=f]_U+)Za>_YQG@BGE u?mA ʳOfLkAKj`I̯X`jl}UY~*'4_qn 1V4N@bz؃9}{^=M7]CX~m1瞜#[,q-!yd2,$yR^%ף7?a0L8a&3ΌM ";ZF@uUUҴNIE~"N5P]+{HB znI6N1^Zqmz73)B=P1h򉝓ZV?7\ l q@pp텈-4"~$$0G~)9|?aw4]ͽ4|Sm9@&dcvCfwSB]l0J֩;2q3]9~h75ӎ}[ C+XbSwF[}\_vP6?iJ,mGijq>%H%$ ;G7F3jkJ(cr P)-j4A\{5Z 0TwGS); VOl)ĉǃkA"Z0UIX ~,؊! k"]sV{ 0"+WsQT`N%E%6 Xe`:J#>(P3viW3MwVmeeNAv&wKU FʹW:$λYuX=Wd>j6;qD,'o0d7)5r^H4Oޒ*N9UPp'^wwλz"1/Hc|Xgh^n@ّւ &&5Ͱ'Ax(aZ1?:=F4C<nE-f Wc6@I^Py'6Zݝl<%gұ3heA_T-_9_@9Y_J0d9Vy. I‡F s/@-Mz-d\C>خlb oDM|ʔ>D8#[o40܇N'fҰEtB͜;zXيeϲ!8E)cS<׹eL>rGbX|PN,8׷,Tbc4 m) ^/]7fv|ySkbm9{ΜQ]*%;/=WK>Nݥ60FDyߝ{j7VV^sq2dK k%6T]) *U0O~ڣf,.Ƙ Օ)ş:)=Y, pgDv{ˉu}|us4_cL󩛗!ˏ4T7 ԟ %YiD*#(U2IзQ|ӫMT5(Cmsu,K'![V-F.fW(U%8B9)Q˛9zBw\Yݢ:V O=b Ʌ: KGRʥl}r9o兀MWT]bw ;FBe {.,df%P*y+xm'~s, ?N$*"g gGJ I>riNLbOXjvLsl  PKə[fq-ԙ%kfҮ:lHoU '} Vdv7O 1)BQipFRl_xT,nYfS=_,ۻ:1%*Rg#K KbW Jx̓jdte5< ]`ahDvdaV>Ӿ u7 "ܸdLvIZ{w/Lq,ܴߢ8\F3dvS &g {df?eOfk2ϴ8 SG&n!_$ K8Ÿg-F8LfSW d)L:k}^ o &:9] +3J1P)hNXS&iN8}^{_Ќ >{Q5W '4Ox5I,-XMܑ.e!t]5 L ^ބN8N4|V=."Y81$Re U`7{L?6=ஔM(䑓yހl]f^&Tsߺ@J10w€A%3CG=fYf5X3(и"мgYcY>E12N+0&Єj|m1OA0I# Y_-P_sxYuJ̳4/JHXh9_ :(8FF(oY(cyX2S.L]=u֧tˠy ApB}9qUF*C7+́i*yTЈ%vjݕgV;pm_v*IS!/XEuq`V;xޫN #B!#]Zo*:-%ƭB)ys%C6\ǬBZl\3Lzgxἱ`]Wf.gM=<汨 7f2 x|ڵ:oYֆ .ldP)B'&җtӊ0*4#5ӛ@ U1ٍ !2 jQ>V{3GYQ8vo)y8NOz`QLp]='!i/@K۔|Ml6)"!GA]/x2fPlAdfI iAFLm94A97 ~E哲S] )#`TӮn-Rb4q<[]Eq:Mndz,,\Zj u `ft`3Տ11<7.iתF<]ȟ"lnGyzͅ6၊sHnZ#'+8gu#)diS1m2^Pc&1YiiG}\X ~8'RjoK nR^3clD_!(ɒާ ;tZXap(B.XP]NK}'x_$%\= 1Ech.]YcFrZjC% ˠkfIžc+_*2U߮ܰ/>I*cL'ὙF9e,z5xJCqGٗeIT@>B ^R7?#^J =+g.biӾ$TPʭ1&`ZP)UJMt|;.Gz` <,sk+B0-LKLK6¾#> >8L%QTK4Rh-#h`<9TXQ|kӆk,S'os/dTG1R)m.,'¥5) f${֌R1 $bM)#4A>Fbת%qzr)Mǝ^}['aZUaSsP\3̂iA#E Pw}~7T:KB0 Ѥ9!-kD>0ιq<.0N LLhfGXTzE' bqѻ+B/3]3;BFR0 Ԯ8h hȎPZdYc0xL=uĔD c6!͇SvB\&flTF^+\q &D,+ԫ\P󓁄R4HdϺ7-dj1uPf 99N5L`{Ext=-ou֝;ԭO TD\ 깩S?8M|"Y1i!S?yP-0K$92%UZH $+;rԹ?@)“YZ ?~CXM/3V~y R4+tӟ%;޹Ј{>gMKwjIK,ɵ"w S{W3uc3 ȚTAJL (_tYX-7RFNeAI>zc1Xqz~lZu3&h(wK IQa/e3#B~AiٴB~a[\l+s댚t5Q ׻d0Ym_i[63_I' J ߛ4`Hl^`}kC5d#dS∀!D砅E'=x WMNQđ 07j n|/+brֿVw͓cVX3ǫ1V N%ƒ@ԎƢ>(mTJ`֤ezcE#8#{!3k"BISYlQJIG 9{:wյƖ/xBVKw-sBRTNVTg C 4H_>M EP@> ;U@)A:E8̝ #_ %=sW>ex"27-NUt!˞ڊ֓rKX & -m4# t v[iq 90#f1i: {-7THfk\R"ن_יa#wO4IOyy؋o1_+Rp:b" [8)^)[{;.fou~j)69:ĉw#PyMXcC3.cVљ 3$O "ҝH"&-&c;czH떤z)/(4`,(x۵ook.j/sW%!悱I -`/0+ #ܾW#{C}*V;"M vqڤAL شMOsJj]QS]ќ[@8ߩ-25720B # {Ju;󱃭"m7`+.;MS BE+$m`Z27u%u%DFvlЋ̰ZfG#ue|(&@2HH4Qq=$uk{_Ovc˷lw;ᲖYl, )h5DY \T5r^Dwب(D2{]'ceo) IkADK'p]KjgT2/ e'Kw n>R@WqXSn.])ZI(rIU]] pmCl4_SxW.db<4Asx~F興fmT;W}aZKZ0|{!Y[3?FIj LJ='wwE2c _{{JowE JIl$jT\fPN-8SdҦO&G~m3bƭDZ鵅g?:'Af[gS"te|]2:*7: w 34 Kb`NG޶iT'/ܻY)H pbkkE&9>&"Z}qf J IBԔϭ (L͜`|oG{XM瘿6۹ PW뫁QUjq'U܂S<29~DT %5C)Gg!K CB \8ew/M}8-r2h,\1 >ĘFaa<"7㤞bڸV׾ (e Dhmx42{xE {}ƛ/K"2CC#n),m|@Q;E4'yfr#v%d:/rV"s>*+`.*6h{5/IЪ+LԻӭ\O!i;+4"x:@RsuZ@RSYh× 7:796Nzh O k[T2aeh ;?8&LS!I+ud$kkq ' M`iuw+Bj?T!Æ/#\Y!UdxъI*zYuO4jۨ!G!}Eh]IJd4bcLilz}&g9׾-+[hVU$F}:Z|Oz H[b0FM,X-N7.a'#^޾:G%r>A$7~}W|4eYXTl/-CNFUx@&AVeű8>u&i *j@e@ xJ5C1:,#0)@bbp)xohoIشvCl}BG N9Bp}}S2Q] Dm(ש~2Heg(JF̣MIV.^4C6sr܃_$)]{ԂJB*) ,@ue8s\Jk/9h@+s~,qAqMLbOI;)Eޑx$+yo*z54ڠZhe&o7tkޱAezW]hJc!WBM~χˊ< gtթF>@qzVP}ϧ<2#.VEELݣ <Ӧ_\>;R]5_ۻk`c0OxкD$BPK{xn*\<>B3CfGS]޲W@UAo{D g= |KrJWTe&gqn}8^‘Dxfn-!FN?G5tMĂk{[QK6<1Q'(A|1+1KWrQL \K"@{<=фV~㋫CP"f);$ͺ oE  BMBVta З8+lr|wGysB9,C ql)U~+v/P%_Խ0ؠ*ҧHI:ϱIk&nNݣN7NM)u+(LNp2Y`4}pHKy\~8A$]"031`ASO PX-fL ŕduN- طe5!3F3,Z-S5O%8Liڷ^Ǎ¯Nԓy.thJvɱ2S,s° LPFQ.nixE}hY/J^Iv9k݅}Y%Ӕ:G%1[E+_7aK)K3h\<ڗ9q;&[+3%{ w%9|t^Uc#OJ0]ü!ξLOz*N.'r,%oxI]h.it~PUGfZ{q9WֶCH{"B7u쳭8uPRcX/r* 6 ^RRS A͢^:oq}# /2dިa\eaAq>;42H4uՉ 1w+PsKq|n4s77c IF$7T&Wz~d ֔ BKd-JPq RF譸"ԸH`wræv-vH+2.2nQrxy*Ɇỿ @ W]R^Bb|Cscj"ےZ^f#D y|&UncAG% pDtHF7 &R%%}IU qqaWO<2(eq:q>OUր]IL^m32je0Y~٣F}u:!:\1]ЗB<7[~Bc6Yn!\wniqڊ֟rfRcyʌwv0s&fMAeI{ ҟ|r:ܭ`T N>&[(e b]ik[Cě_>5#R(- uT hZ,pyZz`C9T%6ROq4c,dщS#}47WӶ ;HבY!,<؎z >m/zfz$& ֨]ssa$:huvH;< sl kh/LlPD4{ͻ_f!a،3?suă2ԏ\1ׄJeᖆpv_^9y&Wp:R liLƋ 3 E[273v$MQq݉!c.FF6|#(3I } G(M"Ksy4Xvӧ~z넅TM)Ygc#l?!N~̨;jjf, ft"5dULr _ FP>>,刄8_h)w*7r Q^L|h͸~GN}wedN? '""I -Q.]@_QDLn~Ior+ɥGl[*~K+%@F2҆-O7IߑS=ZD/I-o6_"OٗiY_y\/b_s.(!JO5Ųt ;PJwo[U8U0l)ӺtF~OL;+% TH8 qAzl7-PH:n PFJ\cVo Q*kywmƁObe 㓋~0a3:2o,p(#βH#2 v'v1 U-#˿ ̘3d8K^tMnzZ6SJ:K}J dla-{"MnmyWjMj0%Iv}E5@Ik1fsYVxYbθ\eZ*-x{\Eoi 'Ei MZ*c-#W?pW[h"0\k|߽o$vOƧٰI쌬RuSo~tKGmkEKY͍Zb}0JY崾v.H߾&:0@}(!+zf;2JH,H}<VBcXڒip[%`)t)6.Hk5*t i.|p񿗍nXwWJ'@ ^2 Ⱨy[o MSv!Y.)aL{LRC" mqpz.ԭ&$;Wøcx E!pG I`OM%¼Ky9gHi\̋NY;K0-׮MsZ8RI}9ȥrxM!R|mВ+Ƽ[ovL FH ?iJ.XD ~DjVӝӾ&܂aL d\ ޱ/0 ;#W_ JfYBmXzY^I񞺠!KUf^%9fͪ}"ά6X-Ԧ788ڻ-:Tq LJ:O=֮N0hX3I]\.y\D}@-GgC?%a O}PGc.{kF@ ~-O6io56|tt<ҬxiPȂ.4PwH6_uI0#)yRr/s Y* i@. 2GPك24e dP|w`ށcϤilt'6bafQ"z'SF烒G2WOͦ0BrEF0Ӄz@ѻ昑/C,gUE<%feEwgwQŔ #y#mw]i.~;#NIV y}ۊ%Yfc}Eqx8TqoHY,h TNaS`k0 QcOz0X=V۩ i܏j= tQGzV^q 66ͮ9ka7>_E^]οS9*-Se&xip7&jI忍s:e@bL"ܶ Q!V?jG::x!HiN|{&%Mz6#qBc Kfl^F*Z }_iy^b, 1ʦdG+`*\KO2cDE3Um[j Ma%3ɞ`CbFJ YGs)'#腆6+up )a-8j͐kdeZD5Tӗw0^NZg3.&|@.**nVJAt7BcEvKzmX !l0g\u7߅IzFt禗4Y^A 7|Cƻp/%m(ȃld]iRZZ?1ԾaT4">8fn6ݵQ7u0gauKu`J"i~?(R3ːerL[d eZi`\i09%,ha9arhaFP;]Q-wnPGI$ϖaG5q=Ou].j%xx'BEsuݤR"FYy{&~4TѦD,Z޴gC,`-XrXjy kܑxؒv 7trvaR2-HjLؑm^y67?2VZ }1 Q&qL3?qY"H5"fpyw-"Qq)qy Z7ًLdXLR+:a7),4E140\^T@M+Qխ庬;zGmiVdxd`%S2w:=K y ~c;dC$H_ofs, rJ0=6Q]9?t 9FkE/kwY\!:5E]a<^GHZmHǼl2mSǗV9d>$qQl'PkHs+:#^#a2z ]A@W|k M.f\d2Ӆ0zh{LTo#=sz9Ԍ^ 렽X$fR>LTs}xktNS5-U. wrSn oQ 6b1Td )K2M΅$vleW8NMJVGk CGhz~f/,Rڋ< 䧚W}}Q] zIm%~0e Òt*k"~xݪc ե.Kxr3~G7lU_MnoZ eU^z[:frWFh,bEytrk3sv?q$9sji >D}l2-} ZZ0K J7`/qcۑ4 {gV]-}oG΅;' 2_k:1l"Q \1$@83]-ꅙSL03QϪxAo@ Kb#W7-K_5ۺ\t5}4؁5b0}Qif<(앂Z5Z(&$rh8揚kJnv^q-b.nt@GtB_浶@-#&8VSJi,:%]nĵkp>*8t%0syטVmَw'|#SY=՝{-ND~Ne唭:˽b#y2Imm*qyTs.==EUA-ȦV)5E 6 ~^य़0cyt!ęGdKHnT[ 퓾ojHK=.?#.ٌ/bҨKpboJC灒RԴEM#.kݧ g;Xlh y#Gv5)fG.!bYVnfugT3UU>8 #hqjҿ]xc ^3 lt& | C9\JfCv@(b5TѝhΪspqrD6z3[NiU\>2iXv8pݜ7fHU HE7(T1/#@\zm1H:Qw{'L>JF}XL{?g  Y7pfK#rsZ Jȃji^ 19քΘf3[Ŭy/zʪ&0)IɺpTqpyPG- b|N[Uyį>V L3kR(t2>+LwWCd\e8|ys+S; Gs&:˲Qݶ|1&`m*jasi|{~f\?^~yE(jȕDNvLp:\zSgK՘nyfJ-ᆔBMZS"|9$ڶBQ-1&0M3x$\uEᱥeB"N׃IkM @/ts"z(T{ uW iٹETL!+.-4U9R>f#Z[kud~k31FS/62rkwd0q.7`rtj0 $Y~˘kt9$* iW YO)1v(ĀusbT=b4w/% gOkC*Ӻi"[h(q( Gn,?[ Ÿ|Ҡ8^O]I\֎P=f ! ҂2~ӛW返WY뿉;mxN* <?^ {r~< DЃuaHGL#o(MEv#M'~JPQ?JMƨ+%sY%u ҡuy*J8p(MCg f!/z,S ; n{٠(v ":I_Q#!{ar <׈8wB QPn[`2/5Hyad?{#bԪTΓ $ !XPH]\_j 9㍚&"Z9j<0Nߥb>AE| 1W? sH0α6Z cOV$dޔ&)|^R|{ vzIMΚzD|y3feuNߖCO&Hs͊yZzDZqu#vV-GL  ug{3Gi yF+hyUbzyREI+aA6军o%*qIIRNq֫ȾnAw<"eU/kWo";^xS6;|\_7m锱ͭ\ޥTjZa z(oAQܗn!On!pw{x5TlЍ0W!= zhYӞğ\G$1T VgtzQ}8ɐmC@J Xl/p NJHI,oT#1~V,y]Z2P1{G%wiZB9hU8Us D@ 'r m=! xi+wI,b2w j2?;BnV(+VW<ԏBEeiĶ?Tg~hڪOGo7-̝8c)!J_ a9m#[6HE(8i'pbEDp_r-9Poɻs>Bɞz'"aW?RVTQ0˽< 3`j :%|6ǠA:Xϔ\ U[ 6ҬC}g)恆Qc#G/gj؞f܊oP`Бj. ~Pqrhip? {)}٧M3ZJ1%:|hC|$@]%ܔqZSJ_`XcQ-h(}n B''Oc}L}`cV5V woS,},AKDlW Ͼ^—҃ȭ{Lo‰f772g_lr QPӋ?<0fj"λ]3k*["s{3C"$$vyWJ̯#pU[ i? l`z3VdP"9ee<6a{Ob]} wL^ &EҸ]ޱyc=S/_, P?CmSh ŬvYنh魓q(R M=YK>l9`)Npjy_~l% }6WTt|-$Z[zY$ޛ1r ]F MXc9N)|8C:yz&2bEIpTXnveWe}Q{$F"  /4YM==sŅJoP c#8>Ϋ Uu(̷ᐺFlROcK&p1>z]hY@|+9=/{Rl-љ+r"h (|6%:rumr2MEBpS݌Px{2ӿ0} bڿjr4`Qs㻝x?yRə/ ~^$h>ۛKT퉬+8S c+H#Iw23-u94uԱޚa A(M0mjZٍ`ng>Ɋ'sa 2mф X r˭WhP[phm8[1q rx:j1IVg7>w9P&fAU4k'3k\qy?b|:) &5Kr5@q(vŚ};o>mIbO% qGl1"yZ>vY{n]RE-n 8;z F=|>|ʙbY$U;=.LOf*QQXz6u WZRD,Mw)HZ-@Ǚd>A/0g$F;++`@hz$ԪPY~k48+b|,'ڱ$3ulcp0*8scو@X`I@9q'Ѻ}EDjO R:*OIr=VOC-)R-8]fKuL=pQP,(<хe׷4:Ɠ`vYp^Ubr>84Ǣ_%jUڣc~;"RtҌ%NQ6D':9?~|lV!혙0gUPH"n 4š#tB[mC&+]"(A68銂X#Z畮13^Xf!Qk$ qG#K IJFcWu<=_w501(>G QPO~i\7:NX/A"y=_Y(QG#7iFϵ87m[?-@ -k&2;_˕ynlԋf8~;Z56F䍣G2~yOg =װиr˽`l=,׉_!jV(׺̦-dKa\l )q2mtNNąC5N!9CtyEx4;y{@jH|j}uZ79h`VJa3ML0Po2w_ʍ*>ߠ/xeu\꣩Y#S)D⬘lB02݅Sy°}JZl)? ֝˜6D*cB^rh:NԲ(]1<r{g|.ZR Zl]TpV1sZe0j \fț@%yG#}xqLO s2HJO-h|DU=✼@KKQk6;̝3("؉Jq3+ZmEUٽ5?*ry^n%i|קeYji~6щ}ߢ1GyĈ\ ta-Õvp21}2J%81P*COW$As"|?=C4_N \gQw\١b#g [.7u/=Ϛl"yƚ s: sL)aeq a7{t!#}g;F6LIwIO);Ab'mѿ{ﮋc0AnaTFDfep-)hRv϶ Wl!剎"TrX$f,pnqEV庨=_- Y\Ⱦ@#t͜.?$SW5|:fU Y>3B 2~;`U+t?c<_O%1vOY! QkaT l|:'`8sҡuqv 4 pMO<ٚ1Q*!n_~a^Fw>+#{fN9ꦾd%K'I殱?6}+tjuuϫ_"E[cm\pʘxI)[H%t{g~5o,ɒolyH4_:8S/ }e.}z/u8d"O0K)B*>dyMᔴۀ~C_xaz%o~\-8pٙ}J6SwPQk"GJKI0 ZԠ/JzMF nv k;f$'۩d^)6RpӼ WeaRc*kNKbqbNAGGZ6KȔ>.Bĥ|v\6dftށ6`oiEpXu]S?;4lz ѠyҙsB4؄)qzww6\ B>rX >GpD>VSkr L7Le7dERֈ+0[fIWIP}YJSGp ا%7z>3S۶U4PbGoB 3A7@[]fl[^oLxlӗ%\R 2RbEؘk!"~䞫Z0z|Deæa?EfvD _WgC&7QB>?9hw$\s&vg9jW68RPٔ|`meߓt(KEki_z[̕vbE}68R⸐~Jﵺ5cC?j>3c^]cn8Kab1U> 宵S_5d8@\>x;zQo{KA B_N>u9}]= u0-NGό~m q?UGw7 PACg e$%MKG ,)~$u],avL+~VxwS4[_7lbM_'4Df.q7!8T/Oc|)_m ZPkSVz s5}NӢXpʷUQNf'*'=Hq1-qxxSxlJM%su 0[2o+eSh)>|СcC*p@\*\EM%R/lwBނ ٔ ZFkJ"5%aSCӘCRǗjZ4+,{"@iplnYAn\E;.<ٻI'39B@)܏ T9lxChcAT]~:غEؚp[vC?6 7]dynsu&?/1HH[}M #ȠkwrX ΃^׊d|3˾0%dqpB[|buWRVRFD[ A_h> ]ڟShxd}r%x T[v͕W 5LW\vFe:*LV/0y;LZYwZ:D: %,1_RZ~@75-]-[]3 PxS !{8΂[6as6"-Sw$)}ai` Of5VQ=.ycɂ̋,mN$,ݜh_<-  0Ni e$Zvfo^* /Ɖ#4IQ&]޲eteCk!Z;@QD PҕR}WZ*Z ;5]Lg0/*%P V>xA+=_`Ff.٣TRꐛU- :ӵ '#Zu"Rkޱ+GJX<ב+?Kbh21}5Sz+1kAƌR]J(!tTbѷFs㐷x?-RQV/_N݉hJhP:4i}4B6w]3gs0ZŻgl2Q'«wmx %vXVMxAp ؜EG#"`-m|@<1D.m,=BڣұъPB nQl+-s6ax}uCF.DiHIGj34C^?@d26:R5\ 6~RRk:.Ŀ~`΁.\t6!Q T$>Tצ_g>ZqS,Rte !$z:ψg/H];SV3 @08ޯt*cj'ӳoڮ5z/BF:ԅ<[ʘ^w^oyxto /@ ,@`c%YLDc.HC}7 zzQB~lW"7`6 +kL'Y1T!O VA_ƀZjCe uX~T-dBa;xz~#)QȈ ClA0V5U~Լ#̓Ӥ}sn=Oy)OSL ?˾!Wf'1 }L8!ߞ D/aEǟx\x>pFѽyL9"iO}n!}K9~h 9h^uhb~U8[>Ѐ ̡ge[zx2 &,@lsO]ˏdkApp, XS_hNv'7^F;&yL)W(qittE^V!5|Yz% ~g$IPQf7۷n+f||6HgV9J vG~~dWq:cA=%f0;Λrt3gK6B*z,g&Ah-fл*B"l:[gֲԮOn]s)7 OcC|@eMX}޴7džKc=jT<ԴW AF́CSnmmk ޜ< ~4؅l+NeJCΑ3ߴp܏5{Nᔤ:ك=v5P[)L z3< b&@(gS̖S#@) 9`F?k|/ UUT֌ߦ O2 q-"].Pҭ$_ ?G'U3ЇcҮ6 ^2{=6jNו L>U/\0tËunacpZ"#rvzyupJ{߽eS'v #4Y.+5V5 ڟ6<;:H@s'Ntz VGҞ 7j*OAnL'ֹeF9Q .OXsQQ\"V0khE6:/ΛJ&K*K*wͩU{zK`k3.$ ;mWtZx&>sT9۸ / y#;/AIRyLKRA7%X & J+k| '>q( Z]R8ԔUJС9S)c<'\t?k<3VՅ;52A{Ζ-vbc$d4nCҬ?͡Bbi75xM] 655czG5 N*74XwPC;F(YSTpJ{pbeaP껔"pp#yzZᅫ; k{2YK?AwYdimR/ͨ EߴU C'J4U Q\|xeEZLG2nh%(|6kH):0S@,V#˺ޱΥ7a֐K|tu<$Q&}$k3;I)[ #ź}_ '+yԕf6 ?Y[ST*\%Vf˭%di'LӵGm ED+C `ǝ=@ ee)>9|RWURD_FOnE7/" "I: =mKzcUtUns`D{$@#?fEiRZwdŀî?4 dg+sDȅвEVXTm/-_a;hw!x,"2{BEs>Mn͏d+Coڥg;WTaiiR_SYvN1-DkX0G+T-m1FXt΁T"[FmI7Q'B~uсNL1+ 4^V2d@y^Jb#3`P)UlB~/3=돾:xb-lwRfuDMfq CۅHĸw!/{M`߶*ʭ}UO3ʹ{/";=((g#sGXo4L2C'M&yO5,EuתVC6`JNh|Q`c1ڧWfW.FE0parTߦWM @쉮#hYPL6TV MrJae )ٜv`s½WsZo +8TjM ŴSJ"RPm'Ɵ4"O}b{5Nx1gm^~@Ȁ֤hz؍un;dcqS 5I (yHHƫRO0yjp0;#ڌVVӏiNk0A+h*ԏٗҪ%X𶼄ޔ̱WEFnW^a9*~,6xcjvKa:yzFuVIȂ?mI> qtG  9lC"'x}To۴ɹg9ZBIcJ#E POؿ+F(:H]E|Dr=aG:4 ç9M (o19 *wtW'ѣӻ{8p8@%G˛V hB{\GoX6-(A~gGh,NegIWGy l[YM Z5֘x_!a ڣM׉Qfmea_;\9˶ 4C]jZOφU0yue Z'pKFqNWU*/{#T@ƕ"^us'3;{ S>ܔhm%ajLp-~_>ݿKKlV!kx8TowEn%P>{"jބZtI}6H?aHąlr/#XA>R)@wڃ5}Rp5p- w~[}Js6v2{aԥJJ}Dn0##BMY?La`gfZ^PMNhΜ 1)c&+L<׃b%OFDsXɔ ^TW4d;K 3@Ky *f{&٭ڋ="=y6VJA$W+vG=wɸ])yu_I2;52ʱSeXe'8o +9Hp@ 5'o=|nZ#֤o~;_$x̘{\p=lMpJ-5e0嗛Y. 0Od j4;@/lC HUf_ I[EV3lxe}%dfdR7E4n5.m4 u#)mJ6g1>|XM)ȭLY|+péӱR AToK,VA3,ʃ[,M I1 c,8I{OSߟGD^wr4 ѥ$WڂfַJ)ش1#C+Z"gHX[~eDG za"/0_rs8TvOrsE6J6;2|Xl&j,&"e^j=cv7z?kkn\,<ζfnB`oHr0-wݞ(s;52T吔0y`Z(Uo%qԯ_C21n%X[L]bAZ,oB0hK g:U%[QհC`wXR}}N3Mǝ`=ٿO L漓dѼx* mfbU)};vur̭x"/v%XHI@FR.JZnZHQF쫁jM[2u$FPwK(Qiר,7P3)qTَ6%xGV,o1%S 3dO&/Ыʁ®;l̓B8:YM+k/~(@[=%pW:p"?k+KrLǩDی΄"\7>|}&UZ&y;kUE+ Pٲ7Tgiʖ}IŌ}xkNk;C:K7Ţ .m"׃|Ml}Gs!9Fp>}۬EBsE0X".b3Mvl33WPiK\ѕʢ bnZ}j9Omq|,T4U,֖@̆w&I``&c{6( qխz?]Gk.h簤IKsx,AS<i=. ѢlG.|QQ̒_VFKmeHd~4''a T qL6Om?yQsAƈ%R^;M?;Y GK[GM+=ׁ-G3*,fct>N`w!]-I̙ӭҶ7(/<ŔR49B};.,=z,Pv0'hI3+I%m˒[jq@YW*cw)RplKkf%u$3SB IǓeMK.S Gt6UPD|v|{m Yd:2OnnEAS2|Ar:y Xu!!b| {`pv<(" c{Qs΋'YCw(ZfDBz0eŝoF~*a'LgFe&:Ok }*PǴI&wcjښlGM"\Uw\4^;Hz 2XyIkwd "$GGm{NT1@js9id"`~! i(VIǰ)mSK*HY0[Mh*AX].5JiO~}Xg/Zp_( <[[T*H>pdZqSp7qPizލEȩWFhPE%-Mkx|F"ysJ12_1*tNhqтI:cYt+"7S% ]]{y7)8XW`&Ľލ!JV/ڧ7#ͥr<_K V'i@2c2ɂ^Fia MmH#7vvv YSc` MbO{%N k«lo@i2YvrFW>=AC} ups6כ}oއ"q{b"6R-xfjvզ 1[cp#.]GK#bS  +ĺԝ!L#57k۰u9g̮xW>#>f,  /d{VgިGԧ1Vk鍼 IEpZ޺#fMd2>kRZSQ7Y x,6vv=[ݬIakDQh.ԔNvwE ^a Y[]t]x\u\q"܃+.  pE 6~\YPc| ]IEOlhv۪ YW,N1 {^?זYr58׽RYIxQOn{XBltR\< b ו&`kWnirb?rp݃#6"bKp9 (=tظc9N}SbZvDXz 8̔ ߡmvʣKc1bn\6Z -M8urNJ1Yq~i>Ѐ΄xQH쒷-f}AK \cxƒ3"񶍍]PLh{VA{R9[5]JdR *ƍVeGb9Q .0o-ehg_,iMHD €KvDžy|ZKsDl _#g &_D.Duy;ܻ|"ؙꩁnsfv6PaÐ2“;uVCᒏS(L"q#Y5ņtf7KSVc-ΒZoo_vǟaY+vHtj8yNm6-b_\;:*$.UšC j#up͹ Knq=V^κNywȉߝ46Z,es}WqϪ!D4!8=|F32Ư%t?lː-.3_r2¯a" S t>Af9_/DsJK6^tPkp` wmu\Kvt^*@dKS,>&]RˬzaI{6Pk31`v܎Aq0riT)&- gYf{Jn` Ү O?}8:F 0,}_Bz5c16f:\Zh_O pP5ֿ fE缈GjfA.|:le@ȃ=d>3@˞Hn:Qvx=w.FɃ< ;gYC>NLo躒XKD1˿D{5׻b1{3 q49͠Q:4/: ?CY;N5aJͪ-"semo鏡+3J2BW~n!a"yhW7ztF%(bp ,E5*|̷NQ@x0&sWhp}焞 #e1#J>>बt]RoOmY XGZg*3DEV*tyx 46D|뎥P/TN<} nr^JPn_H7u pʋ c~OnXo޴G$1Sz-,9MLM!bR\x\љM/NsT,P=LVϋbJ>>FO[pW6+TG΄&ف#d'Td/=R=1 8cpͮf tp5ȇj0JG2S7 r}Aϓ,OTr3Q5f47 |ΡeYT8/#Cc>HV4Ւk2CeTO_G$Y b*)&]/ MtWGtpQ@DUJu?c(6Y$OU=@jwkux!=UJ ]F_; tïd7!ṡ}./-únMӠ%ّ%HGc9?z\ؿU> A NsyimV٥_iEcGsă#_w=O4`٨CjO^(rE"$i/JV`ya!woDT0WV#3ro3(7vfH$ʿD4؇; !hSNȮVkB"Kv\X/ -K2 9ge;p>hP_}c8.)` fRx^SDU#a(qa'Z>=V  !: a&Te7τ_ zM,\65Ҳ! ={:Cz2\.t*y3?x"jBP0w!hV^jË&NUj8rhx?5n )c:^,6ƾq oFblA2ٓaBP#Dw ( gmGBb\e\i e؁9--B)T__RpY˟)#2xyIoHQjz@0Ԕw5jNrWE@-K-ykMd(mӫ%gyy5{bCoްK*in`X%#6(tG;Km/=b Ԭ{Jpށ&dfYXA(e*F`mҥ+T,l5 Hv",Do5\ #X26eRrG|q0j&@+tXu{ȝYw-'xϕ^%ˤW%,Cndޘ%単$7wſ4<z(N^)p}+!b9仠/#ze cI &/<@RLoDV6n٘ +OL ?؈x̂Ur0|1m .:v$+p {N*Ug$E >=䏾 R5Lzf(sA Y5ۺowZ((%,Г1nTkLVF?,iito"_wBdsfR%VpW% `cD5Mg/1_ܣ7'!GUaISg3Ce>:v0,]nQ3+ȌSzh;‡[iU4~w/YC,[W&7ƀ"7/`\jfp3řޗ`iݜ'?ԤfE@`ScC-zhȐ(8Pu <9; 03ֹ՜~2I/*qIicv&jZ~ްpS΂׍B:e+A5>X]Hv# p/bb7w azMaZ,R[=1jW˛`p\$/¬\R7~Y˧#75HGQ] }2Yxy {&G%^HSa`?KУ? lla+$ S^:ES)qK|l^Ε0>* TJiuy XK~EkOt IYzTKe^O+ uTZ&k8i^= SфDDUsϖ 1JC!4`%g =V("uh/Y"%M])',$ JAX:]IHBh:B+n5JBQB1z~0_mJR.0N-ů/Et ЄO*Hks--!\Ź85_{_uG/Bf#Ϲ,h $m锲HJ0Kwn>`Ky6$ZU~)ޟ8>v[j.'v=9a1Qmn[Aݢ&vcGkE D`EIN&h?C8I*Fgd 4uH9ugBA?ܱp-V>q|@}xv %6ʞ{tFY dCk<K&ǍKK#?\ Nلi/ (v8?mׂnR]l1pVl`{πՈ(\@; QJ7?N8#0HC>jrZ]TXzr~dFcKQT_J}dXkc̙/R#׫ k8;!L;6B5޺`xÍB2[ͤ$N A fWt!d]bZU'%+bk3"i} 5br@U΅(Y8z2ձ}uV:%5!j֫p1=Sxz㢸xj-1[BQZð.gk8`ٶnwJ;R\Q*FQFKŞZ7: )YM!ǟ o`،%|~Љ1 h+ɚhYdXCwXa W;Yư-Xl^Zt8?I 7rE0OgrverVٓdWOIڄ}fLI7,}kK/'8śʞN&_o,ӟ;PUVAKW𤐐irY"J_ Fnچ:M6Cke~RrS7r$̆-.1|@[>oܨU.%s1&q3v"z5UǪ. Ӑ>—7Q#\ڑe,:O7J-|Uݠb%gH; @(Moh Q:+0vKhl3 5&B.( lkhgIhJ!4v.Ǻ`&AchF1C`*T%2ٛ ^jk {SP@QAZվټ})uKH@lZ[VԒP?cgfl\iFD|h^tcAL(T8L0B-(+D+j(3fo.LG92/ ,g{JDyC zS[l 8`Nj;ٱgXvaVv B  `[o?&V[=Tt 4`kԶH*nϼH3L*or<}_/V)B.qP(\wn5#/nrKT16˯z@$d,'jV%I;.Y^=$.́Zrς J Wk4x/B#N|47JXՈe 1w!<6m4 &ncp]q# =jL/6 Pkm#Ur8m`rO'@"cy V(}Ig;9N.'XqRq6h>3?z@З l%m(L?mQ>RcA'w%5CZ0} 0{m P7!MK$kmU54 \Aq_z^L$=ki]ߧ۲g)#IF.Ѡaf!j[7P"F*us#vQ9A+ݨfV6ɏSƖ:})hmJg'TRyhZ q$uWˆz Zh2M'h̋NLm0gmɽ;>,&Gi8绷~`mJ!>3`6!KA X!TRWTܗҙ &=دbwS1ކx6V3̖ue% $"%ԛkif.}#C+aj2mBk:I:ꌝ{\pDkow& KV c 4\p]!tLptU aRF-6YsoXBv-Hx!|ע=ښr X8 z:,]kRF3BmلqReL+gB{L7^{vR3ۗDluqEKZiHeQE/Bnj7SqҘG(|Ie^p#k|ETuΚ#}#s`0)RTSwJS7Basi[<=h}I7wd#ؔ2<^;q8.r?LTM2m9:MzdadW  E5 6qFzҳ^c-um$X'~VGiRP$7}'N !l5gF ,_kYٹdu[T]DnJ}?B/X>rEr:UӂI'qvG#t}GVwϜ4#}G#XhјIiB6Iezw ܍>p1PmHs߁XuVDr* D 4 x0jSIs>3Y,2k} S73@(̵LKϯNcK`>fJqiTX~M(TcE\a~~n6.X,J6v7i9y?10s3&;)sDхٖzͤ) /QBto噔U0m:*. |ԨdmbJra-Zp3-[,`_:!I( pÎ꜇rсmsN4 fȅZ OTNb^7-[Bo,^' nsQF7 r:JI08fT:Wmә?zW'lgmbP@*t2n%Q;H 7'L=+?ViF]:J{)ѸD, NEQ_njUE`A9C.rzOPr#4`FTYim/N"-8^BVlα'50{yN^9\XkZq}~F19.3OfХZfJ[YvAA !T| nH rBgF'b ?gV}r?݊2DS_apEstL {T?#NX$oYܯ5R? ZDA66>\o $P}EY^ذ@)Kɯg)HJ(q ,qV:,&4;Ee P{P] ̩c˙A2FNAǙf/3֪;s}e~q MkT4j -;9Թ;'TAKHQ_vaEH b8=ԯ5q90_ I{' eU)# (Ł mC+N#2W}:Y0 <nodJt#jVz-hpXC+f&]d;jRMI_5$KUQ7"|{kn"Ek ($3y7ugA1,BpS~o,Vq7Ҽ:R,le엲=, 1?j]K̓hKU[ƨwo"r3$@>eU0뿶׀ƀ0p䅔T%lOaIiQ)}G?3FHV(ʒ-qߏfA\A@tK3z,:00ײㄲZÌO 3SAȅtj-kq,NcV`G()TI3SO񐖞;}?TyVN=/ ӱ!7ljZX~vWON4CG6AYMUj׈I; _=: k_uڞKS[>^3ʼtB'5L"Vg &("2 gZUdhF`wU:ih*jox18Rʐ,nq tZKUfYNIX)Zآe6r(ཛྷpU4Lb-d-22TzpQὡ8]m̲U[8$IT9'| Dl.ڳErx H^,/KFE=yZH8n*OFQŤ4p4<$fCfo *n2~{;ӃFa"NHQzmr21ϱ{ރy('V2zIrDƪH@Ub' ϓ.5Ftg[wA" pmCvg(E2sd$/_$HzB;v6 qUKC~Fn9DޒzZĽ*fTQU!]1)?"-Lh <=U3Y.ټ"SNlCN3aBVPK0=,.c/UGcnt9;JHqr\jW5oqWU/cHSc,n髋)HyЬD'\FԺ`7s'yK3a]Cu1::QLywQѓlE-z6;yּ|wjETtz8W}NmQ%2;yMY<{If4y vWTp,bi0G{`'G1&ȼL`h~}->gByc\!JIexC]r^6&MjJ W&s%G;j1. Fד+8)|ZB?EqR.!ݻ?o",F;ED4]ƺ)3i05jɸ\U5qʊyV`3+7]>q>љFOFpirAHIdRM"qR'UIxU+XlI}Y/=hXd j+&9sn`9h:07F>UCl+q =).55cU5tH>WY߄8夹t1Խe8ɸk {#Ev~Zpgj8dc:\vh}3][[@v,’A 5ņ[_}+̴Uub+= Sg 2( q:af-0K; XhLZ\?-wH03%s6wq%s3p e.I&)O˜.\sSǁfiF.œWF éPJe~[#/M$S$U;yZ1+6nm@QrjD kSܦ ""Z0jFU[WǕiW0(e(ja=R9&MYv[~Fz3՜/kLw^nDRO" uҭ8Mj" f.PTXOu"&ftz̧x/;e<h `>fٸڇ` $,U6ln"Kŵ佃xoudG[CAw[ F.|diF]ck&MXtjʄ$A}o# 28iW P4Xpt,-D\F,Byj׾T|;Ьw!6?}>v1X >-[9ctzkj% =!?Ii#KAѨw'y3D*ND+G- ٹOGe{䏂jcXRҧK-)t`>34KJoiuSW~j%clO}颌22R5*ˑVXQ2A#!Pl'5IDh*"s (HB]}b!R'2ԋO9gYԴT-2F Xe{IvV>7[G*$Y?:}cjhg$U v\4!F6LB2e7׉6бnyh U5nbVB*JY6m<4XL6P{Z1d2 qc8[|5$":M4h>06:qm箌Jb_A @.qU \7;viZ__]PF ,GVmn]U }.f P;2'<ڡ55όZ zr'{Ʉ 6SOnK7mƴu{$NH߷(>_=[Ddi1w_'$5x>#D1u%uv6OGm 9 <40Bcj55YYsu~KӢ78:icm:>=>$%?l3/~WVR1ŧ!,W'(dZ4e[G e%p8.`1(%Z%ͅc11x0 |pt0㶜\H|ȠžAr1>i#Q҂:KKli ̔`;㋏m9\2`ۑvf+LpY}(:EѾ51?4ƚQO}/"C߯wLk`%tGcVHPQA5{ fpȼlFl.H7s_zwJ4!ԫ%wQFeb*yr&e%6AglQq:9hs+M&>Hq:^f"!~(<QӒƂ16+H$W'k]rCѺh^> fכXvp(T`hæ1Yw3غThQrXҀw7`#QBR |I(& Z)RBSJvTѨ֙k/B465BaۊR]e!Dpd6\U=@ɔ @kW?vxjS/"PJ8+f;4"P OJmQhSU{YŚؕ#풤Lz-4ҕXn߯u4l閭ߊ\v:SQPcR^w$yݼ4u*狓5?;UUlƲ*FbcH*=N`$1Yb>0vp5"t 1OT2n+FeJrQJ!8@0qBksYqA6( veo7vl}i:wFƘ!r5ؼ/q>~xe!n,9[| q4S@*EaP@h|'Wpk+z`dkkTB9}:UB140N!# Uud#QL5NuW< T]GX-~ zQJ1LNycT^/6;G:]zQ4U/#-ːI Z_5ө3+btBJ3޻f #wB>-5TunG ,չ$.B?Jؕb8i ~K̤} YثG$Ѣru 0r"5EJ_Eh?։햄{֮k8DHd *{h@U^Co۷lL/vi{N/4a?2kIhYN*bkq&ͺNsPRB43FerLkl9E32s]& '4n"0NvZ\7Dtgx2%['l2%),kyv= |8bU00D튱A,(&e!%D52'ahaTԎ8Yb"JK  t?NTWf6X׵FkJLliKL mB=-\mP;W:4h+WIoɎfj`OBujGyluȇaGIXuavfISX&}^0X<B#&+m}YXHwxE8*%JdȹXN^9`[fbHOء08Ba.dckGViF>mo So}Yq֚ L0':>drLA;oUF@3cf<3ڑI.Q dCa kMíYtgr7Zi`c w,F4[\ST5aQ~,pjjy  ITXv"G?'#DGjP2!+頻noeRfc] A3NMtдj4=h pΎxݫ/ zW0&)ݮmm5+?35`|LI*!esk*^[H3jƈ&;@g53u͖]ԭLRppNH6 <bbg _} ~OTxGvX 6x0ҨE=n)k?_);i|Wn\hbi>a[v[;=&QM>M Wpp;Q_BIweZAu 392EQXmi0€Z^Ifҳ]U8gcR 'KbAE!1[HIߜ8&^–O>W<`ɭ 6ci86%+,IA43 i;jY'[+gqh%j缥Of;Q?% e%;&@+ R)fC\<ѠԎ}x.!aqaSTB=-vG3R53vazh'/VLKs.d@S Sqؤ_2uM]+4; '|0:D*AܩXDO3 Xo%y O68pi:1~:KR\F†0rk,0yQ۩APӢ(l5IEnH/xb)cϩb}ǨG3_ qx _j(p+ QZM)ܑܪEzb܄ !"=ofa.6)eQSCԦ%z:f<-D„ӗ*Kwst2쪉36JҖ>G-Ą ԹhxђT]w5v;L.]q*%0_ї2A&"i"_$B SDi (ӄI~^ڋr^hh r9HdvwN91qd!q]էgLk3bE[{mU%Te*+NhwZk65.:LZlX[ǀ_ l-1ŋl 1.n`Rf#v~DӶtU3!)Ge+Λ}!>YiOɉArMN;&ӢUKOI؁jNF*S]/bk: vXun›/nɔda3nT۠%1e-NIJsyZ5ЕM69 30 u(n g&z@Ѱes:rAUD4*c_8#=KU#G Zl%r ^I,F^㰫;5(?+ЏZrJcsȿ@el9Nq^0By?kjH8Hy[J>2h *{׾ҤZ}}U"\n\,,"OH v`CŸu(m@d_Hm 4RQwJA " ?&,b#7Np,8AZ51,Q' i I𷮖1;"3C&%0>y]=*lRȾב4. r,l+Xj+)N O Z4 J*,EverWmrcͥ k$U)̯JDž{ܓN3|v#xX^YUfKXrTz4RNq51q.Euc7B{L)NzȭUH(`jcN.]qW=fIG?64?ea!b=&mx@7p%BKL`T!0@#AB_V|4ԝ󘭼8f;X8y`1#Պ*_'1Θ1sege< Btsk}bE= 7^eo٥^Mbo;8PNQaITRd-Ы)~ڲ; S Of7F^ #aBt4fm[ho~_X(ZLGR%^n(D`{?~>OTזh7?3xNVxu5chސHAvkCxQS8$Hea =fe[*}ڞf\i ̏e}Dz`1oE"4?A˾+ [8?)8p^PAԼ+RDVjMu0l5LY]瑈=kuøz/fip1? Ë}׌n} Ny #PԀ@8dW R^++V>juK%]l6f[Th*w8!ݍYKpir2bO5s}^uA&;*gSVORJg, `tYq_#Wq(FPB~Ɍt u4rL9\d!mXR ꗥqrRj%w r^O{?8BpoyOS:N_3B\қ@Y<כb&f;CsrUI \6Gӫ&dx[hAE"".NrumȂ;ƞ/L q T~XDG1|np!WjeLe*ɌVuz{7&w1U?"KqR]/j|r}լtKD:}%8ƨE ?'387YPbiQfNft:A/Cm< A}r*N_]SĒuXA\~lǘS"GSz$"y5Ֆ(%?Ӕ8Z T }a2㍵Cya'~=C8qev&k^ x]º\ڽo`]8/4KK?r] >~5X!nxB0.2`aˌ# 8& .!I|K0wxW"uLU5i8ڰ..W-ՆFV$ >i(VqØ]K /.ub. >hM֔ rZ|u5t 1E&hvhɃo mR:ܭĊ_Umk쾥eJpJ q (7Lke0<Џ#U$=k[ e,Lw#ZP=9`e!}JMRwB]#ݒa1v ?"k6R?pQ5To*&,4Ht:drǜljɫ8 jE$sي^XKB$Ryf ImۑiðaVV eՅ"?Ctf?dadn)R0Sn #Rgl<oLr|0:u\/8 ]/-<_2 Q" 3cAvj" uXA+wH&?m0 Bp"qH"$Wmp'@* ɽd\ I;'ٔ"lPȷp<'m5)G>B]e楗@C^Υ Zud9az0ToagB `k]IC5 ^)3(<{c-LXSO&IDM}[/Ҫ4`E3{+( V bf[r2r#&V$`L4i 'zÜj8r{\j^O7- i>wE( ^*>G=1D*F@mwYSB-y/MFע9Om҆ip/6 M v#~7{D-%ObqM60߃ WNٔ_HtmW`wB3 Sr%qNS@aY kQ*-1aX-ig˨d?\yrcJzH ]]:WV,oLuٜհwK݈o~ӫ ~#mډŗ#TY:xʞq]V,X _uTӰZbT@xu Pf=~ј(&U2=9{GrƙC% yXyqA,ZSw RV ݌I̟E9k~YFUnn,zê-wXgmUc,7#Ý@gkZ=Cbx3 ׶Wi&lPw~i6a ~_EYҹg^I3׾&*Z'd#IM3ˍDfwN_Xzn/2~%܍#C.2a"?C`= `jИ-{ϖ\}x+a{$Ş0cGhxcpWP7#gfW(b8aI|yգ*Xnj 4GրaO/'9Y 5X>>^qVOšc_9n}"OD>#cC x4Ԅl I:' dhCӾT?7,ѱ} psCTxM[Azt+S# TwgN:++uQNvB:iZ|9Gqa&X&vެ0(OUV*7 (Z!7X,a IRfDl.2~[!%moo+&'Itkx3H`_#X;?4{,jh(1ycj&dV\ŘY`0F{dw 0~4XN=o))N&步{M>s53۪0n Ah-ܘX=&~fY\lBh rtZXQ~F॒QOr!SE5;%b x$䲃:o@}4JnZ{=dbfy۹<9?:sfBm[\_Bॏx)aCA1b 1q1`6;D\^4j݃a¹Mmviՠˤ {?ϪSΓ4"vuZ2b;[^W s‘!Hw1EjvYqc{+or.OΑ{ 6Q=e;ɦziˌF<; $1kwhonL*\2^So+>am"Y  anM4ᘸ}tPA?O A *$E ^Sp[ ڮ>ds@9Xr8{b4֩pЩ~dd?qkILVY]1n+-&faps`j2B VG*o䢠ŕRΘ)\1,9LruHQ2Q g > [tɪ@yk7/BjX|tiZw"G[y[YOhZyǪ=w }fƟF+Kyѕ'}D "%!wnjoS-+8 P Txtk:b3I h{E$<`p BeX]&%?<*`8PyA{4@>}:K+&R-|Ve,8Qf~?13r勣*D("B?'̢ZU|mMrf Y< d&{ .IXbr<3@InۮDH trNL&̔剉Y7e㴫Meal{lٶ؂h.,Ż-@*1CY$ 1c62+-^UʾQz&ꊜ}j,q*L_2P]@ꡑcnGɕ)XؒU}(L1M:et!~dy L ~(*'%2}2et|e08E3|ƹg[qnߠ%Wd] vRZ=G}–WÍkNHǘ;6|3y<ۅFc3Lqy*b>PbΠ=IhgEPGB>ltbQڒNcJRdL_sQA`nM*$%t>=)Z+ڇ]Z T aʱOr|u|6ud&`R Ɇ*(NQ\ ]R,Ӳ52z$KyJNl oE:+Q]H+:%H9Qs9Zl{dLaR{~@0 ĪbѠMȶik$Ȟhk ϙ  ˓G P?/OY-E-׵r*P#Sმ@,2%j_ǝ嫊o%G{ 8ۑO6388-xjzO70 (Sq+B@a\64 # 8D^ltk-Zuk{‚+mT v\w{@%O3P w+/Xxo8o;K.8rxe9w=%7זtSNv?gqojDʏsnrpxw֠$Uӯo&.ms) ƬUT_fJ-+ɓ;pB;·\_pA%bw_s{2.()#/m{<|>k1\m|%bßM@yEqrj6=Ċ({bѸO{sK5([&%PuB2.!m>3W75~4'=ԭzɺBx 'Fֱ3L_Q.(sA1)ϧ)0<%ۗ1B:C@nʱ aM#e{Xlh;ܷA>KB*]5;ht4-ArVj*u=ӞZh.[/c:ݼ3Fe f~um/[5 fx$$t&T`%=K(% 7*9QQ[Feu=SwƗy9'M/$N 88=!>ZQ('A-˛gN_io5ᒮ[ۿLsyM ݎtW'.xBoOd(mt Byad lv5>J2dTH_ӾΓq|)y1a7ۿV9 uۀ$ר'÷Ͷ?TfDnDܽ  4_42-Wں-AZYn';[%k2w3 ?=ZW  >a8d,*&tԎ>dAR>B{14nQtqo¥2NFj MK}ji5Nc~!]ax' XTA*+k~HCf}Z `z=2NE ?ݯχ)t[#zi2j|O=璷H//9h;:UԵÈw\寃&Ӥ0s+)u^ъO@U\~mEV1PjԆ)+bJ'BfLTi32p&FHnN8iTxv ADAB%QmZwOyӎ0տF׿t@U,IL==/U֞D{? 8R3/gV`Lc XeAΟtjJ? "@۽b}n& ז$)%x&`ɜ$%\9wbO!d9BƖ<ɖm1{ HLEXq JWD+aTϬzL[HAijcYcm`N3BEJ9W|Tsn462ns'%m^g;(%R4{u( 5'}VI 76ż3Hΐ擣(GIY c@#]3*ja% y!^ޖIc4IP"~- |Jp y9ܛJ8T$$g/C)-ׁYG),E;$eNom)-֖@pi0)VsQڿ5/">k9N/V|G/X'T,޹ 'Q'%r^ j&z~gΟ6 r8:fRjrzNk (РяÕC9/`aR |vROӱ=x _{]tu2ȉSX!Ag %2 8fƳV{Ea`2r+!ɑK%G7,ofN9y1Rckg.?ITڝ=Y\bA- =-[,c<%4UFb2-9W^uuRǢ0zk8o'W1N +Z>+C 2%QߜP]!׃?u$)؞7_K >}ⴾ^/ eyBъñ3IS[¬! _?E4U[ XCYіq `Kq6@zx_j:PC1RK9<&꾛 ŬEL)> \{JݑQG`o/b "l/z^<`W'[:~ַ"kU"R@@gjt3A$[ DaGWm5`6$;A܀0@vtQ{-7Śx'Eܭf^tEgJ"pFg,nU/FCN~fEE_\n\MڷCڼRHGEso@Z;Y/zsO t3U:'r|ݪmKP gc#7"E8'zYݝ0[⼻XH%`ap{@qFEYܫjZ{,zKw}W }V b~b.-ޡfݿ'5F aӕi#TTKCA備#7Ra? ͈5U*9S'P9yՌ~rwDd}.Xa 3rO484 ,a ERny'j;t x?.J㱷 ݝЊ `ȟv*?gs= vEWcR n=0R)?5I2,"jT҃+46 :5kJYhd*gFqn]X !#I~8RʖtK?{Ty wkUbCk8(DEUM̅.@ăaD(`4"Ei?"\ A*RD7 "~(t7g 6MFbV@{+DW;2̊nir16q{a¿Jl }`8ZqgY%Ih4\-`"Z]/i.5tcfג "%i|ɩIo,_JB=wve\}f|vS뻰g (h`)'I #Q{BB!ƚOe3O"dsa=]=28=ì_Wm&hݛ%T>"taUu52HoHsUk+OD 'C0(mʱ8u|f~Z:r-@6fXW|~*rda<7+tK O#iLj,4y@(32d`~: Ud _<4Fč ]zg槰8ݎ֧,R)G~Uf ^q{gA*NEG3R[W:g04)y F?<=}Hrr,Ibʼnʩm'#DLAƁ̩'Nz.Jvd .~uhC$j?Wo:<@HXRfOk̶|21ZCtm~=H>[;|(ڜؠ %adL6(o)TuLx/_mɵL"_ ŷNt<@l̈́N'(m((7y׫Q&UsU3 e*A}Hjo"Zmx {w~apoŽ/#'R&ة;9XTqD sq2_N)m~T/ȟ 5e?6d(6lZ iGU\+e}nb\`brկlS` O S/=!;yF`Ju$xλx Cz˴guZPѢ&ܛ˹e+_pƓBqk,Wq56j}a$X OJi%qa0LZawspc=~ crG}&.{Qr-bPXt}f* gcziE.ޖ6IltwaHj]VZm\!_Lvui pa}edz%|G*0X,U@ʼnCk| <tG~Qdt+-^IX{6-̧#^lAUpJIk95B](&` 33)717% |Uc %MuASI\62kJ|ɘ-!Ii .E9" i㳌vB{j\#kD: !pC@x[4P Vؔ] J0׷w,>iE$\Gh._U> cjwcunІ Mj$w"\^vEArA: ÃR/{xWz$TE?1 tO'Q>R^\vq7U7kҲ xUY#s ɨ7YZT, AΒVziv{˖<.A)sԙh:DR# GJ#14^9^Xg_d~ZOhYCP5ߠKڝX]jSܥ4L "UA qfVJa=}cEvUx- me:kl ]5'},PgktO\o̅ {'$I`(C.sS}qUbq t@U,,b..<|(e`g(|aV"; ś[;Q vAtuR#1 1'.UJ{4jnbGnmʔdPH Emְ< G|V,S_$s`2)yo4`Ԇ)tlK#6F31}K-\>#nό-$̅s`a_wn:;ݍ5AQ||KnS[8F[A6'$n V[dᗲu+rÁ|ͬ %򱉬_I-zl([&v.X нE{8[ ǵj Yz!pr?rjNmT4Q=51R7ކYFJ#ە'lncc\ .;Z d #>lzۊL{6.ZbY\#.#?*X夀O;-!׳ݐ#f,z_{iao-|;[u#OPjŬXKN\a̞0\${#?-EIͲXPЅWOajzba7]ʥ۞guJ&LϠfIϵW,uџl8 bA3McoN[R,>CI5xz"`I=Ӟ(lߴ$X M C GuCU8.@10pp(N6Z4tlg]&t\w|K䊥ĮBK{e TLGus*-KK{2 .nf"b&QEjjz:NB,1$4~kD -dQX54> cCD@M;qKc~Ƞ,ݮ y`v[To8!#- *z d<έÜR%)Q0`ښ2'A"h$3@"= oKXrT%&< eV _aZ=&u"!UpԠ"36f7ⷌ 7:+`W+aam=vvhxkt ZR/OEOޛe&!g&Ul7RE(̵T)&MD›r1]Q @Yow)Tn;]/8_H "WN76T3 .xh|$KO u`E} PN9L)6X;. ⼆XKt?w B0/u=Ū8Yr&/8!~DxX~E/R7YFT@q dU BVj\$f2!lCjEFikbгO$/2s-ta"XW9IθӻBeV3I{ԸxN] `kྦྷ삤5M y=;ec4N/ k!Xw`1JVIfڏΔ~*q#~G'5Ta5̛JVD)ab~pDJ'꧷ڵFHSЭi)~X!L'/5@f7=EDظ{D V\جو-E'5tU!#?خ8#',0OGU 59$_6tjiԃA S1cߓWmq{*rrO<2kGW7‡ъpIހQq0}xQ=p=w-F0""5N0 gMG{? n՗eU*މ$ޗhqrI}>{|С#."4 }gr46vm'-Rm'ɩ(lC޸AQ[ZX̫A;ٻ/{l;Ol!dj}HC\OXY`[c󟷧߇Le3qJM'lT>lgOQVE\™P9h<"b^CʆǴ.˃غtOH;f{{91"ҥZP%!cmuh4%/\$WphOD.K8Ʈ*ι tX`D _\$d\Ь$ ArהMBtZvDx)o޾VАs XPob/)/fP^\_UD1ܲ8 ^{Æ}L-e"Vc "d$dbwiK)<$!sOl&!ÕwX=$ߍ%S_ 'ӆLK{}$qTYN%]hXOx~ 3U:ufs?N"cJ…bEB3OJlE7,0=)6l <@Ѫ]TcyM/0`Q^Gmε8FanblbR`Ss0Ǵv$ 0u`76'Wf=*8+a6|_~d)]Ra d0w3C!\3 A։%lEd_ oe y\nJ>(t͒ڇs*π*bt)ra؞gM8lf ܰ9.?YbD{s5ivj|9s3ox L]ZImGF(oFG3\|QUڻYFf> 5qxǦ.:vE$*0-̣N TPv|Z*(TA<#U!S%aB޻'nR Rw[Y3ϩ=)$T*Y֫k $8/ ?Ѫ6^*m`͍1[T (U$ۿgE zWKh#!b%z&$ ~lr>DåHS6p{LXiEhrђ~369UcN`q3eEo[}Lk)1}$(wNzD ,ٵLʹTԭA"ϻjod]Yj@qt}ÃffB79f-{1L$(œYHYKeG;GpPu;DT,]&((U-ߺoIKy5`QLR,M*]O1(GS{| oF`Jm |+?s.8SFљ"r\if("ǹT^u+憥MdL_5 >ʱǽ~b5?r':j纨jn$1Ŕ&hi")e 7vv˘}=.0ҷndSc'<+}\P#&%uwUG#TY뵠F˦^td22;y5ԛW}muEQ OH{ I#W4RR+)@qe$q)ݱ&$ ٴMJ; ?vLluLʘ7ܯ sC<]1<&g%uTS*-oOo77mK/_V&)P|9ENg-H;[F3꓈,dE־IWDuKr1<}/f6-^g ܃')*pLw^Vr '/l0I5,ܤYR;=%TCm񢥇 )I:Uȝ>gtor(N@O+˲9#T/GU}ssQ]c4Lߢ3py`DW''ぢ)+u8kF_yD1qd grqUb-+Ct@.D5{k3?5O<~12TY inë2o6*C&+eP- >akЅ16v[yр廋|݋\ǒyji-Sb+Tt^FnO%xD&A.@܊U?3-=^b+:2p7L5i=!0-bAE7McH'^ۯD׻V"%ڨBNF|@2[7z+?SiEʝb"X%Jo匰0:)wix&9qV[4=M.k0L 6ު%'Z~/_&[ÕR|^9C~+ro|THJ3yr>f/m9[a36 BZBnc.[̕RH!}7g8ia3 X9;!s&nhx|$ƏNT#Vd)N}5ȑqj1qT$$7}7ڟzL}G}.\ S%=CTٺIv7l=zIf!Hwq&5dG->T&kK$Z`*~{hF S_A{ƬgSߥj:H[f$Wukq̱M;+"Xvk1/ #Ė^k2#,f*zDް'V52y<ϷmyTۙg;ăLSI'yrgdhFH2[7>`@&HEub9WԬJ$-T!D *QR9ΫjcPn5P:!gP 'g* =XӬI!~=g ,XmtP,(s5֑޲ fBycmB:.kxQzCa0**= mξ䪰cP[mvjTWm Uvay(rE'We\>ֲҲ F͖(Οrr1>c~bSObsX שkoa1<="-i^lŮl>%hY֢9]I 3=ˏslsS BsM^ќiF,Eim9MALobsW膠xqoMUwP5v3QExj9tքtc]聑nTEx&j@^F;`݋<U:fj/G^< le9(1\q&*psXJ5 %׶Lv,6ap_ip+qa?~cEg~nnH - rY+Rm u|x#kX pBQ:dd1|WϣBcoa';(7;a]"(L$G~ "CT`(ˏgV qYJ ]^aC/{ۥ}-oBOӉ5X.tI%_}BɬGH7=k<ϵubX@R^P`/M{JE`tr (B d*ѥ0p7>`~hFPc?$P豥PT+e2!Xd%(N[{xmIvhFH={!Y)Pz _ݿ_oBV=dpG1ȥN鱓 Rw?Kl!lE{#6Skm .:$j9]Mm&Iسr`p ߭IviƂ?s[;Ϳ<=*H8jQLjy3WiE#_Ӕ]Id~eGO@FQ`K$fTVs1jjexDa- g+Cӣ|KdB )\cS ) abToٝ`0$R;9Cl0qDI UFl!rbޛ}Q~WH7 Cxȶhݛ(; |3@B%TOBgXE!T\ߵ2X'ui{wNb|e``SON K ɫh>Bm2jo $K0oh)AfzmrIJ mؕX[0{xJeH8i C{PPM hSst1#ѕQ.@[KWI$rW FBxU:":QrxkI]Oa0i#'>l7ˉhAe/s>ЩbD1 3.!ލfKq@NjuX؟kmE4y-c[i5 C n=k֛-Bsla)ܞ˘>_q$N$ۉ*E]ajOոuYmf4{ïjFO*~׎1}!ct] EEL(.eĈ&*v PsVBq r}n+0f5.򚔹K2ObRآ8S`)NEG9F]VK{dO)bAl_80e0Q2b{i$ Q;T O3/&@(˰K>n#t"XF^J/(fR3ȇrUA'ǓIk+P<ճSڶQJ%S/zuܿ ,5|W263EО Z/>4ҐYҗN@]0A {&SR\j}WF/Zԏ={(-<ͻ6>o$Q̹1֟d፤TO"*+*KڈZ]p&LWʒW2)}2 Ԗ64iwRN׆ hshByF3i v{~w\aUn;r0BK.1hEuXc_ޖ] u%xk)"p=!!#GY‹3FJ*N#:{8*jHQ j/(h*8KiDA'd[O=5ud%easD2Սo)ϐ:5!oCd*'Zwd܉=v˕xϲ7~k KϗVcT ) au꨺,$Y]*/Z h&"6'Sooo3UQcg:Xt=:{ZAz/xnIq^]_|0qh SUmBi-vra㽢ܮ\݈Z)]P̏'lp,Sq=h, .> ŹULja.MbFx>0+ssoRXuJDecYez.r3?yx8qPy. '5EK?^hL=ys 7KrI8fU?%D]O Dn0q.Ե$^Y_d]1}ijhXNgFEʕ8gf y>_,iϜQ'1߭-b9AW8TTFVV2Λe]Bb~H`EKs^SL}kyCYmAyFٱծ@o0-e$q\@~4&icwj>P>K!DžFnqEߗx\VNVV6p΢+FK: 7`a_{U|c9r[KK陾ib Dt9thȝOHH6^M[uw)UO,uH/>i^%>?Pآ1G,{x[:/AEr k<U>o j RH&`8 &"^v֫44G~K''U`gBǦg5F-wQ?2SIK|$`˕]j3ذҹ[g!^U0`X(ve礟4 Fkn5&@)ΌM'm+Tn,N{TlTs[e;}g^\J7L&;~귕 4VdWԠfU>9Ro2v du?3\53Ye#0 jRoǹ9V)[VFa*@O*/ۖ ׬뛳q]>3ADPimzP~dmkA3tFpUoʒü|Bd WM1\yp`2I&DZeWȮy$JfbOb˵6/'?C^*LD*P_;$@KI!-nlxlUO>v, }BX1V^DHܯ\`M O9/L]-{3hk1.„;!AU`ĠQF,Qcюu P?"9h%/V -k/ d =9$i[T &Fۑ`XnQwhՅ1:zp4|jh\`U+5;;E& `!<%zQzZX_&3|3dPUC_j@-4hY}%ĕyWy(Y.]fsQO|Uy[Fl^Wy@jp@JP9ҠS&8i%}g ޷E~ҜOM3rhCmuܳ)f9E$3< dG=!GZ3ޛimH5¼)I?zH a5s[8eKGFD=ACG4FQU"#ix e<^Ȝ2-Ya#߷DW޶EHpTM.Wwt~RGў"{ `=@O}un[ 8(bwe5 Dy=s ~݁M=}6,[ͤMlV1baٳO GaB㐺 q7Ec!/q5#s="+q&o}!mw IkxD7L`駄@dp87''@.k -sV2Ѡ:D{W`0,;w]o4 )+)*p pIYR`@>Ë0q@ ڍ<j+Gh`m7}Np_4k{uz?\E9w 4p5%OѤu>oֳc֫8B6J'"B?CEӂp2m4R:Gx#$v hژ_`lzr#Ĉ0Xх.M"g4:#`m-=HKux #D)tm/{ D2,2+~/ YRmiPAmCHqyðƂtO4U8#e[t[DGȥ o&5r.Fy:ϞRMb \c.ZX9[蠵 eu!Eي,jшf4Oi@aѤ̳ˇ ^)F9%)9{,kWc%]>.;2 q&-&;G C7l2k3̂{ԁby mOQz&Sك"_`F?uQQ&X#BVx:/gH2C838`6\-w͘T%IJboulK/s_ kz]dMVEMI'DqlX4 hntukVS<􀸢#WՆkS#k@&4*jPDc\KH%oֱ_YN+If/t&n %m}rA7Ƶ5Ly}uܕ@Gc]q<)z`q!1_EY["T668be۫hLfNeGjb/Q>%!2+wS }:}=wg{n-wF o?AU $ -0pQVEEL[u?d2])=ӖմRb3y۳ryqWgnan&"'̃"\`vR!+r[pd@p/C!G yҙ`Uϋ]} piI2?sr!Gjݐkd8q1wӥ!Uؚ)- 5zeK9.*P)S8+0.j [g%'"s4]VKcE*99{A*_spfь?|wG1=O.soWx3.)+㭮A@t@I ϡ'R43 *`/<'?'.>,gL7$#[ßAKHi]AkFݻ>e\Mˑ.,O p+zG9_j&zYXX-AH0C7xpd 7Efs8sN̸7UaA2md;|V Kiۂ%k@)jBz޶{1sD':Qy~!90ʽ/Sj`C !`\삕ۖ 1I_by`YLu1{^a'IM 23%w2GzR(ru baCA[,/GuV#+}JûKPH {Nz#Nu+ha?F𤅿m{jp% #Um*D ~cGV{]Dn`(e2`/k.fb4N-}ǝqݴe'h\Nqsmoh@-/>6~{ ޛ8u3 d }$'SX ܺ"ᕝ("UǔGseײ<0|8*̌}%m _L ReCvV@1H>6PM媔ذ9ʬEPZs}>Fɳm ؈@v9p/Џf1ď86jZ)A9/3| &I5.::[%t%DW֙Tt1J })H i^fO%.u'A"xψ5+3 {oYs؃ "m8k7׉9]qO~,AĚ9X ,H )vf Dp{ vU)uj{^]".7186\j+E9b 25xTiƓ FyjG<Vɨ@)*9}l@TV$T FIי]ö/xQEg /Qg#/%8_1|}fcX"{BOֺ׍: PW(Q|(ixim-E]R^\T[QMU{zENd`M`MA3Dէ `QW1WFqhR&>R7{!+/hAH=LN$jj| {|"BwwM zd$2-[\YtdbsCL{46C!sĆ$M/~[[< uMDp5{>Ϻk,5n1i`6פxo; Nڇ?l$Ԗl Ϝy(E8ƣ$fa2r"T2a$Wo#w臦 4'ʕ'm21q72=ܯ#3F}rUrTCnLTJ+ ta~š>NYr[c 6 ug/{DGjP¦uU;];`D&dE.%_=&'D ޫ]׎pJ3rEy݆< 9ͺ:C꿥%AA[oBwtɮt'69Oh.Y 5BNN6"mOVT0< aS -WG -4g0ŸTɟ[Oē+LX6Ӯ~f_vN/3&킕S{F1bFk1-/XWWhi֮%e pm8Y\=_H&JJO'YaY ?/_ sC_ 3e7`.ɩUx6 ߨt5UqwCzQd5Co}=ެ=Sk)TkU{Ba2 7x ]& 2\mlsǭ(M¹]; Q kr }T޻iɌ:j51o@̀d[c_8m=SP\Lbb5m_*n ]}72R#diFh`/KsL8oo=WcyJ܈!\NzDZ.gvì[$21+T{{{0zqEHg?cEaftvҔpdJAr%/iͭ <` =aQreX=< *B+κ`x%P:;qڢ[}bG̍qo/bjKN|/촉@ ;a*q4&Ӓp3hbah{-IR0"kdtP7(2o+̯VCL+ժd*e0Z2nEp bˆ^#PFF-|k6D?%[ R g8R/pcp- dn!.@Ta~tWM8ϫ$$BNɣ~ ^/=|WXV 9(˲[AW}k#$q)'Lzv~#A]ܞȨ  ;2sE&2 %峐+ ;cs1/֐}}g4XoqS-Mw9K4[XwhPC/5]1G@rU()&fԪOIW/mIBk)Bcʆu#sW[#QAtiiHE5dC< ~ؑ%^@1@&boy c`99R<"vU93̨ x%CKEq.UuCUZN^[ablhFG9jk&/P {6ĮR/p~ P@EE֘7phQOVڋUlq=; IʌNmTk/],)U,ajL)B{e9zWlkE),G(K֣=1x>=0 Н BciPI,Oy8}j.h!97 A9os}p 55N5Ю" a'o8ޏь|ܶ}}k 7wRDO #'Eg>n diWqM$ۈSIa6/eU4@Mh΍21dE͚ RI41aPf\4TGpx<Ÿս.[?_9By4g2(נ=Iѓ.dFR'E*JyQ7^G:H)8xy]AcQjy-8҃!!kpkΓj 5U/@w [*-?u*K<+~!&o9I|4#b {Vuj5l`s$O0,we0PvǏNFRe1h!o#O\OԬ= QZǿ ӷFF[ %xCL>1jj%˚/uئa\,h);@mUb2Ԅ`1ٙ HtDKijv@ ٘>7ԛwEL"}9ьfqWȁuF\Ø Lk^P.[A"vmzP6Di?mH'L89ڻ]h_KZ &eMd⏃ģ<]M[ xW_+t_q~.w!2K@d_9&Ȝ!IEȊdY=4 s@H4%F`ֳ/87eCJoK-`ۇJ(#|#ONujb +Jн^}9 9 q)ɺ)dM)2d.V_ 7zO ʧ$-Od5@`,<m#%TRiZ!1]g -oV)p,Ω>ap'Fgjz5;+:mncƠ،EH[y5{LXl+wΛd۷_N=P~+B x%PF< >wAQ[RV 6G|Dƾ9PlQ)f`,;wnW]S07w,]9 %ǟ"蔖sf2=G>VDhź˲&4N1]zg nAսMӄQ$\F[8<)8?!QNv4?vCmGԪXh)x'9VL UEɚ{#fOhtg -6b{i⇗(D^}~mqh| ]4Ec+Pw3#>`lU`| DY|b| pLNhGL`3?e]"׹._D>XYLtYQ*:OҩOn蒊__=J ,\B =91e/(m2b fKE\Y)'gBmE-T.>Kܘ^OVAOb4)xK%$,N9R3 Fضn0* 9⼌h78W8\v԰_K!lOыie $ra1k܅*W^;қ*% u}@Pd\7uZlNI5?CRBj~-hJBAR5(p.D~Cw "&A~[M?KEBĭh7߂)k)`?ڠ8x_&YhѡIdS%n*0RrW`EB+ U[QkXLWONFCgĩl5zt> ;h4Ԯsq{Y? YiM4n75F8VpQq`ߝ:qgrZ*+o:SJ/b]&)%8),>-`0E\ ;AzEWUJi9dzLJL'oyǡЌFo)H7pr:wk9KXrF : ڙ|(CJ'5mATqqTh ]"`;Ae ^NL~f^&`PVvaȚb-e"0_D iV81]Sl$?wKtA%qF`eb?Őv_xT7E1~Cl|Wu0z|<4-Ce8U-Y~ka2+\)Y OW!c:\#&)*DrFSc?_gSj tbmKjt8>6*U)0td0*G6Kr:@͋9$SFvJ@CsYTw!*m vT "2,?PGvNM)cXhH+C湮B9{zg|JN`\,5=)4gHIM8_ԅ>郞r$13@gs Ud~"| e2o@Q]{neYsYLŎI޴nf&fŞ1ХNN?3m]cd.P`icm85nba Ѩb3sçRZTu5nd vRˢ}d^0b#ci/Ϝ P X}alٵx-ԁJwR#3A)֒q gyJ2;?-S~0-( {fUW b 8 t+թqu?hZ'vy>VS67;$q X>7dQ73-)n17> Q4(VWVVQ{2cv| 3S*,~;ȃ/>_iA۫ʿ&D+ 44%5sP^Ny"]WƢ_Bvz}idՅx(o}LF@jPr:[_w1tW#BtxRGżpȠDFō'sW`D^iSq/-NTYZ.0_K4zMvGl3UrdToz ̦{AT柡w0䳺m5bd>Y)J77O+`}v /zgyf c=и+rXޣBoIhIjA dcԡWDE{M$(o#E3$yGM-gCUzx4?&_F>%986h_@!=xLYo:wrh[T9GݳG%Qf ${e΁|XWmi}0ZYʼnp#v|kxkjS8vtl*nqnV >!o^=J/ke 1EM,?1G'ݕ]ni$Xo}[q["=>6A7R+춚2Њ@EI[ e#໤_:^5{kˇ:rr6V O>rP#JԐCI+m^"v+U⤤)s|u0-a U˝oD@=Q*MJ@u#ugEik%&@LٌFs/7{{xq˼&1ɧr&(38Nwc\u}Bl_mw[ s/>6稽+M`ihR`Xg,E昋רU?GHbf/C0]LcbɆ/<# 7Ծ4:A6qT<߶,<D^ ]WmO2S!,@ި5V?ѓkIلouֶOVpFƚOD<)#1H:6d \%U0JV}1b=ܒ&O%,(i'f0J5@hU{N9|&%%);W^f+nfwtuhsl]ϱZau@Hzp" 0,uBmzy+lV2ҧI MZmXTdq*dnR  `ELJW4rEH? b@/ 1oCA_ S!;8jhU}ʛpW/fڎ]<75oL8fBE<B @tOQsШ=Sx[ebȖMKuޡMJb։;b4P&lKAP/.5}!,rc6x<N_MlgX ݳdľJ2Jn%1Mۖ-DցP#z.Ď}F{AWW=Fyi`%)=}c݄Lx$>'V8$w 0jSz_v@R(zw%شuDuX ^o>|8g7+xeG;) .{ DKH؟XϚ a5heqE!/{h2zMcY+xN#;z~YSѨW˪zwp&a3Or0qD:{]&YZRnQmL[R@网ǠeYw$w|.Kh]/'YkY0TAп3rJ0~x3AkhV@Q9|v)&4GW7gǧ _ø?msIdp޻4B 5.t1m~e߉,1yP,} bDw=^܍-&'9{VQܼM)AUZM\I!b(/v zeZ,SS5n2jSnqI G?[((Np3g}"EG3>}0O͇NAmao+\ґU5Mk4&>Bfuڼra*@6B@퉎+I%/*i7Ϟ3`_x5o?KN9c~dG2`; uXp*% p5@o6p>y^1im /yn8YxeĕP_垻 42@VrSY@4zxm{/J,m350"I5l`{ʹbQgI=7=Y;$;K2'&|Ibqk˛DG_ڽBʁPp_Y\"̕ ݾW~V 2|jTn6Ȑhޮ[`[P;p>m@洹3NhwuY=X8։ TW4l w НcS7ꂼψkʍuzP_{GWܮ/6͓BT4+m7Ft&!?.ZmiM+% `i*~%?"J+ Jhw9ޘla^*@UZ8˱5l}&c؋O(c&egbЭKI)&nS ㅏC`YamBAϿ:?%JMO pÎx-fztXt6> \wx`i Kg$ Xn>Ieb/9ȣׂpɋ1).#s=1 U7&@C W|O#4[ONPdc8e^p\ARוJy+b%PYaP:{Av6|M+:kQ>p>^ })e}7L$-Z6UR'6e!쇙N؁x9~}rs .'3r%AVkڦ+ͤnz7+ { ~*MKbHu21ES}X,~S*_]W7 &Iћ|5_ȼK,ڤuzҢÉ(A<79^K-g(x"}{0cvɇZ|(%t ܋ӯA VIH9$1ԆwI'&JғaY 6(.c%AiRa="E Z @s%T'в\,3W%8 hM;&L$QGÍkS5UmN!@ʓ@uǞBU q:it?C~m> [-rntqRGc]EE"@~(2K@кHs;Td[ߧIA겴j=t*&"T.gx{JANUkbolkw0qY8< ӌ]* "13Ԛ6%Mـ| S/xӡbzkr bG3CA 8? l&@ l)kjA9@7(Ht`ױ]H8wǬTEVEU$t>`H>g,ɖЦդ@F5K dqT4@X9).Lr7lWpT_.IU#s>o} ]MM6*kytgn]D&'8–]j\Ll_T6ė锵 ]{#PbQ $\@!mK_u{f`/u_#v DRa9qxN5TUccmvc6mpQ`'t4Twyv4Iy] ,IZ$L%D{arPqvo6]%$uƿ3'v.ZUzk/0_ne++jX_[~XKgf:ZB( a3FHF*m HbI[{@>%Ke[MJ Ǣl.}"TOPeqSf/Ǒ* ]][#~wmRo\ R`] :g. ZF"x @32EFԙc<{WV'^FWg'9/<òx+LUL?05č 4;1<]֮ ؟E~~sş!jE3c6~Y//#F#zs/:=-<#3CM6j\VPJpהIvba=prYnC6XGEixeRs cR%R6e^|<8MC]F9}ôĥWTTut//qF$ ^0OcGexڡ/Z&ȅd)ג2*N/ ( S9BY tP{U”gU|-_)Vşuk 8$;Qh'bxZhuEU:fjl5U35qurdR¼` 74iM2`weڨ@Nɱw+anN]pڙ=d*/mVw#nT[ǎI fb2zI>T.Ӹ?Ρ7|0f;VNw5{ep;ž@ qv< ڏG2uQ!(~:n@\.n<@ fw]&5BTfcgpn"Z2|.19JC'pXkHpNz(S}(,ŨzC oJئ\q&p[KZt6Xӻp rm~2v֗gy|%$J^8ZmojNT zY!bLNř`m+򙋏V֭B^*Yw.թL8Rkj7/%`W4Bi*<4fJl +.MmR f\[ ڇ~VTbrOl/ [>M7ge}SHCHKc7 Ԥ8?a?yT$Ŀ Sk9x8oc Juu"dh锫k I;𽘩$^֊T})_hKlP׿[䑬yuWYq ziw_"sJ˫UB 4mu׸JeF<NW1wT4ƙ {s^bHb,I(>il)qW7Rf/;1$)_op$fYj*ҶW!E*ɲGrj_֑3<&j嗨RQ {/n.v5y*@W2n#+ k  c3m+fqC\]l4ɇ-ʴ]Y׍jQBQXՠ >`+Ҁcg^ǡMF؄I|W KDž5lkQ`V$EI"ՕYE_գQe!~%VvS3gj&~iZ \ZG](Np&!:+C qaj@ۊ2ė|5~$aT)RVevܓO_@@-;<߄65$Z]p&˵B MWTBhcu K=0G4M.!rcĩu1O2BJ bͮ.jkh"U2֤&aソ8m1v襈+4|ڳ=t%ADD+圂eH>dG&4p[>Be}=(eYrUEe-y*ѦA_X2sַoŵBz 7CTWI|:,\v Ĺ]#3+X N:4M&Nu>7RA#)XbN8 +d$2bPhdOК/p˾xg$=HPR FV vDf*I)^7h4=2l`ϭ* Aa@KJ ^]1ٖ4COBX "WY tZHVƌJQD`r+#fX$%PygjZ+F7 πҪBŐg }b TKm8 N73g1#=a>m(a裴AxyVn~be6scZٞq#?~O ?W+[To!6`,,z?=ja.O0n “O%Bu +R+?=YhD6*' Yg1zx;6l2]8"]2dz͌O>ԁ.2A~g,d?EE3gPxe#V1G˖ȂŒiΉ3c$ LfcX0(<=~TĺZBo`[7&'T'/K7yٱ%ʧszE4i;*7B6yJn'[J7_2\XWe_wlW&/0(@]WPl8HGbfl0^)&nGLI195_j7ل>ࠡP0@0v:&M m|$Wµ}k}gƒ1MG69z.Ď-+QamN'J=ϘZ`aQ71$ 2{ ^W!'<|8-k߫(hJȨ\H{ygjXɖy|~iyFjS2>αUpc",]8eiԟbhK {Z~w[Q1<#Rtb nk"U.{P#=<6J\X:@oYpE P#ǥ}<#--(B k6̐jayMfVaDiLE:PՎCRT,gN; ;h0VɄwq =/E}~Ԡir;G˚TҢKM23MjJ{sxؾ-oN[`s|# d0EG3pxu6a$ Xt^Ĝlc mK]fV|cEwec` oN.o1#=-OA ~s&7qR6\?B-,lf] By'5FTv*m=H~}9J:hܨ uG$HIAFSfv{q ;TK?Y)r)ߍ bajC4C.hߣ|n01S nivi')\)1@U$f-XScU?952P0z59'CD`  wy?شvHs2r:I٨(@tNY\m3llANg=3bKq^Kg/+l<o\97=/:p_5} E Wܾhd7_'SA;Mj z%i͊=u荑  <Ƃ?o+WŷcseO!\ Vlb):%-*5q櫑H%NqF" XBC}p҂_D#-=~sބN] 6SD4[}VRw I겙sDl~ռ@yg^aa]Y&>H\4v>}bf_v5R_ip aKagCu= avf% 'P$/OH[.*&eDElYZRT̗r{˙t{#CZ ҥJsXm587[;PO*sfu0ҵ'W+^ ?Uµpdd`߶^q'|E;ꭻi|,1j*N4؉\d?X@0w+!/z @ּ`I@Azծy4fE?^gzXJZ^G w QuRU?ClxQk B .GE+*+) 2ǬSA 7/57ț~:B7{ g}]JT_?$I\ Oa t1a+)lQyq$Pa{qf@?0LlLčRo31v㆏4CzDo~@䧗ziar{Ǡh+WH)P^D"ICN'9'b R+wcϼ=yȈS@0hM-#D )-\ ꀓ/}Ks/tKkoae{" ֞=/]*`@n鏻wdw͠HҰFߣ ^Ki@c]k I1R=x_pn~,K J>2Zw̭$ .p~% dEnG'fQ*D_ѫQ;kL?o@`)`Xnyvm\z;&N1TRWU-mT:PY(Riv`E]b3y'X&0&N*F/RԆB]1mC6ZYwl31~w{L6mw'>vYÈtFqle0a-p(nnx3ֳ'ǜ 1Y_Tީ+bq_o&۱J(HO!7;I*=͒ĵmg4Rڒ3RE[Vy⪴:T$zA!$ &|w\zMtSO5nC  A91T3pƧ,9&iIb/MSw/:TmZ KK5, 2*FBa>6\x٭naKr *άp(_=S\AfI1ʌ| %G}7F棌eln@#JA6G<03U{$:ek,iƪ|\,"R9b8W .lk-AZHCE|@&lhF† *bvA@@3hϽ@bl_J5TKZ{6sȪFHƵn, ų;Q;\3q*SHW+6@WKy_{)W]Lj!]5*P'pwt^:dz6nŜ!~"QLaQ.:z_Eu%>2LKdZ m+{]=`^zD䘔2Rr\YO\5o I,'-K9kq7 zFN-⿝䬁i m(Կ'k/LCԇ)HN闄2 ^F񅾚 Y#foZM=wr/E1, %ZCxYkeQ/ЋrD쥸y]g$V:o];w僃H;R8pLeԌV{{daV'NlZrj@v}y둟 _2!_H]֍s$%о :򮫐2xi.$7ڴ#jN+F'[ۥ̵#0NZF $AW$=SYL35.h1o$P 5KrޞL翗J֟B4X¨qKx4zZI w$2 rULVilG/4Sa7(*GhI+ߑS\Ps^mSъrekH ^wc>hf~+El/HyAfIǑ)@DrQ㗍}A'rvC]N1p)yZ$ZP3֕kvv%T1%=hZ~Tͱp}>"$r?hϥ`ݵm>*jurv& E*q ;Hp '>7;۰ ؊2VK#i@ jQ@22 |k$4!X2bY8 nO'uPC -IgWͫ*!~`9~D{ "bo,2̗A4oEfv:MxŎrGC#wPGde͊|z؉ n Ɖ A 5!EWFH,Jn'Mlͦ CcHpцoyvPZxm2BQ:?+|xWbw*Xl#HvἋRUTfP-Ɋx(mOzf}Y74{mQ&]ˉƊtg#uuFM*E_ƠZBLPw EАf0&p^ i,:]T(F4hwcy7W*_"By /vCl 욖^ pGV`;BMn, و|#QiOBra3nUBgtDu9?Xo{d9鳈7vNKPVj~ s#A&>"Yw d!Q_T/B^Giq.XVF;?n[ZzluʔAl$Nd+V%^KiiJЬ+PȆkxMn̦~ g .ؖne,m=\@i/ūؐ\}}ZR 7\gK ;$QdG]\fVvP n+7\Ϟ0W>h|B8}_3͞r'! n|U-/^pӏ gbnDV{dcӔ@oj{iH%[iYE*F!d_R 5Š20D"<";_.7%נI'a{(uAηW; $-J_ gvߠBԔ @믄l#9"p ؋̭yqa[qdGQO{QMҖ0)((IٿP(zmԟ"!5.\=JZ :U&FA| p3iK zV&eNEaZ㒻ҊLHxNWo\mG5}X1$v/,YǰtYO"L p7.GY| GDV{^OЈRipN'CO}Uّ i5˴#6NeQ*ak⦇G[I`[e~GcLjd\ K{G m!.H.-C~z̠۬Gi k1znX/xz'8υSݑaHqK8a0pqAE.faڶ(6ex:"# HػLd "h vY({W>{k%>/ @Uy:u x44ji.=l\(vT+.Jޯԣu1_n{nz6V\:9%G$GΙ/Ku3_`(_$-0˙%$dAE(]@[7?VᗍE/UV?͢p[,IwAA"_Nw)r+ I6QF˻/52nI:5ode!Ԓo  [G B nn]ꮳ/Ab7nDgOy(_xO~rӿ ㆛ \wd`o!̭ FIx<׷' FnI2 dt6C&Sk30傴"xJMՌq/w#*KBΎfG OKEp`Ev|7{4f.t >ҫ]>x=t <' (q69pab:544(9B@g$H8RH%!ɼ{#]c ?Z4{NHy w[v\1pG_p+D.K+f ClgO' ;;;I4g wB5LC o61W#*QOB8i=P9sF Tn1^@ ]y6T浝*feҳ \"SkϼDlB:0)@ ed;2t~I~ڳW٬X;1W,mVn7]gROV;7S%I5Nqz\;9 DG&(Hs%Y<&E o)ZE Ȩe2k; 3X67ɣ:Gpphf?u`;/.c=HSBf#`{Fǹb| 3ڟ{9z1\9DvW|<5x(5S RgYO~"c;aQtjBX+5eYX6EqG%d9Hyga `NQfW FP"&U꜓VҖK#?ǷђEXёgIK}X[#^Cc' ґsֻtI'4P'IbQ}:{&(綹>(N+wޗSp/n4[ u PD/ d;h gMܚo@̛ hϱA\pҵ7OG0RϽ 2Yn>n_A9x71X XA叚EHE*b>1:)¼Sj 8n牐:&go<Y*+\OPhn5#~@PI2œyiN7 #s4+?c8׌qJ@P4ί'mDf,@F!!ő~H8#=)wcGUE?pѻnS+4cewyhh+:!Jў׫_dd-aO'9y8o NsGDžz?q=2#h7J䧊X֌j Г99*rlmcG V`(H9Ѽ=s% c% :嬣{q[Z9xB(:W+=`2TI}$[eٴ9̏0ϲ:{߷#2/d"Og ԞF"YNo)|& Lfˉ5Y +0_O6kfdb_fK?k<.+ސ k2"aZ,%{r#hkiXǣ6ϮD_0S|4AfVFA,TNGVRnd^~ =#pfKK\ 9POzeZ4SqA֠zr:,ဠlAćnW=!+ťk01@3${wXQ[X2Yܯ.Uw>K]z9y*;nXnWUj&Xd*F& K 3߼'.ABgӢyI>7B[-bu&|U/+O^ -S!k=uKfqq-FvCM}=EhfW/Vi+'je)>L} ܑ2vU2sN ܎uKW$k-==A`V'zS"i3aQ(17q㻑@S81iԋkO%kd :G$uߔ_bﺣ+!PP0v .O׍M_(mp4I >ܹUHˈzx >g֛%Qʱo,'e?H`&?{yf#;8,<#;sRwk+ܯ>1{T8IcJ-.b)swf?5KQ!ZK x!tkOj`Sf7}0EKxq:KeoF1#>YD D?]:+#AyKDBJ}hdRQې5B,%gT[ ykԫR1O*06UD3|=s@>*2_󵖌e9ތ=ǖ-`QPZuDVРYqZqK炆ѻ !b_u"lוGNb oP Syodm ?|f։\Ƴ[7]Rv1/o&mbyGxŒSPr={)1IkbgTes>ؾgyt \8iƷSxDO!n6$V)ҥwqs0[m:bc=+6ιq1KOwx٭ rW<wx|F [RԆ_U!/s(F W[%$߈[Rp.<~ %!h/u&g}p&5 (^$Z m92,Â? L-X?#Gzȑ]+z͏x&z&ɒD04Z¿"WJ5ltؙ ݐt Tm!/B`fj5l6a+2jdVCszo9<@v8-B%_Cg]nۦnh+ }Jbr| U{SgHpFk zFOo^"!r ?9i=SC-j|:aaJh]w ?*HA2u`j87pk!R:&&/Si 1SjSϗ;)vϥhdޚ]Urp]ϲBRRE ^ +X͉Qk1=V7uPD{{ +7B^5>ՉJiJnZK5`4 oT2Q(ԫz9[eq2PU&?餋MhA|h=(ny٫9 $'o ǵ7Q>%:/ve#LP ræ"#~Ai~UT)x~{lmķ r*iR;wIcUou|cYȢ_("68;ufC ED>++=h2Ѵ*Z]̒زmo/>x῎KgCI*ӌYft tV.BJ', EdX|,yqBF'q]1Ae_&6ft]:TGQ6vF~?~[3Q=מN Ϭ?Oj k,x#ug-l^~#2'Gq2 n1p1oeF/67= eFʾl -5Ƨ`jOnT;@Cu+7u*ޞ#\墏/\賴VʼncArs5~MwnC{wy)l]P}ú7g?sܰ5"hz߇ NӍ7t# T_1)x0t62n9-Fܨ//bkvv56:{D$qiB֬};gWQ+zc1-;R6-E%IQkjz&!wq޸: %/n+E?1@M藦SO`'(h_! FٙJj|b|$bk+,OFW~UݝxfStd~oE_5 (`ִ\1lvfYE dx•f>zqJd٣ I_{v8dw6+/'7A":g9Ut3@(#WaRbaFOX*_n0O/Jgn UQ4C636`z#\@O18!3eTm+NO6an!5ar|}J?ҷK\F|WT+'2}v7X]K@4ͿYx\Li${ 8spD 7 '9C jœ8sEkv|jOslUoZO%@ً-&<]帬 oUb ;BX2Iud_,:_zʜLƣdvT6ERVjCPiDrV{'{QX udo8j p;'4pԡhӷvDY.gjE[ 5'Ƥ:㴴"g']=ҬHGx ׈ws 2WpWJ4UIqFqGq]z@_ PO/wҴl`sxa"zf|;w5k>_8os*v,\$/~|Eo!EUcnWRrKdhrEP@~?PH_F[LF< 3dx*w[22|5d+S gFHxyJZ찶KXqˤÞ9K]B:h*xX.*mgd_7Xԙ[@B78,z$VslD"Uqcx"ջ,~Uʾ_r/O\ޓᐃ ?DDw6 Yِ)ʂ7eh.FiU%Q/?m`3OLV8uD/dN 62SO)jS;Ẁ7fw{Mas5f>(ɄF\FMd?SP #j ?Kݻ%yu!OB?O5#~h< /ļPe;/:궇7$ˎt[+ Tـ`WMBQl1Fc8UzW ע(hc P*7dbw '&+I7veDu""p*oL ˃L\pu28/ܠ!iOzemߛKn֜O{]`K.N UoЀmH[Xq;gRT h-m)mhд EloEz]\3Bv{wnY0D1G# > I9v87~YFεu&3fE}nj|.!)`W2>|O@AUJt.J!)϶D-}~^F r{uQ+1\n)Z[+P,Z``y\?V GG {BmS2hhYm]u_/1Y b=1̦q ~AEaQ[Д)QϚN܎8R4f5-Nx8O 1-I+JmS:4}mm|IZysौxT~^Rm\﫬.*$읽)>4RD6^+s!TsI空ol.#$z|ŚP-fcHA\Z48?iN&KV8_zsym3=%PΜI=wg9)~| "ahclQ j*V޳j36q |c:7@tg"J&vEEg~׃q؍/ޓAvoXKڡt`bk;u8l/J&soJa~N-:$mʼ 1,49^0biϖڹ+?A U9#q\[{R30nJgtAB>Z [NC=wo- k /Ű H;s*f(a[\+RO]צp4^0,Bԝ?F8.Ii lPa0-zc.B85H(^߹aBh0 }H?I|osfke!G߲(V|n*qw0v].viՁ7z: P؟0Waŕ4fi_ 4&@ Th*_< Cϰ' lNsÁ7=%۾d,{:ԠI <֘k[c.AfA;r{*Fo-Qu+aӹ{^.u2+\t$Ax|[B9o'#L Owqbђ/2 S6n-1Bm ~m~5.4k[-OG)ެ. HY H,s1>7{Yk,K+A~x6|#w<u)2 ʼnLQlcƵR< N`f SE;~o\$"sUB+a|XN;>gx 6f1- +gz#7 ,j+g s2Нc\ʇLSk| =nP;]騩>]#m|܌e>oLPG6] Sũ̐E)LyYYUwk ˆ|2!/=r&<>Zf@ . 5tɃױn֌$.Z"&qJDZ9PGOPI._9W2}%}r @O `T#fbWM5fU]QD! EyI 2i2|C'C4ZY\_KjeC{{ˆ(AڧXeg^F}2XRh}6t%Qp43Dbo#4РYqĹe14# %8/vW53;@&&ek_í*ɲ!P)DaCxt-Q?'OmJqz 9?uD8X-@DXpiAWv.0ݥg^&EntGܸ^%5m+-@kozeyr,񊳐M3(ulyhy;`IeN:#^{7׷tnVJe$Z&GKUcXQ&3X)B) [?0ɷO)s,#a%~cgA^i9~UqsR]D>X}"q!AE#,ٯ5Hl5xh G]v8ý2`djFAd_;QLi1ZϷ.Tӱv礘1]Դ>֗w74s"Sǝ}h"+9] oL;)7 R_pڙJI4 NM_b۞&mDK_ʪܴ܈^E0ɼLqD\kXQQ ̆q<׋ h&$\+Sw MC yՠYHάu(K!B{?i2̓bY/Ue?j#mEZѤy|M)y6K٥#1Aߒ+_g[afߣY;iz9S9e21hG7v]bɶXֲ9;wK kcY!+09)`3YEMLDn3[n3R>b2ĿE&;x*nIڐ꩓29gw ~_8_bB~3pyA{!q5!^++@.;EDϥ.W펯 rىǙRb>f K&\ǮQxZmҍkDMBFH!W<4 XJIGڞU&<3XbXtN+% uZƒFKm8T \nMl;b{UDaݧŌoJ]ǻ I}.@oDV="əRF*W?xQj;nt9/$wQU; D@ /Flv |Ed#[sa&n~p:@,i(XQ4ͮ -*("P~" j/E]*if^iT؈fq8! -6Y_u2E>~=@)wѠ.o/$hShBDUB'~B25<}gN.AS&|\ ?@\ _Thr $^jit<Ӥf捦{fkBso4K%y5矏9\=]d%: xN ǁ9^/Vpĭ&"Ad<jA؃}/7wa'nsBaՊ2 {v€/o"\Ė@BZh]xjvP|JY{~!TE} ڔZ)bIi; )&r^t^z$h) Z!3Ƨ{8FkIã91L8PcίEź:&ubŇL3>>,诤8HC;<>'j8sYZDAdlA;NXbL?Xew .2\/| $g+ѧ@ v[v "\@MX3{>.y l'h37;BDƄ04< uZBU~i)#Ed\Uhi+*s}AԿdKfD*^>*a6]%{ k HɯaaVqgKIPhSNW Eۊ!AMiNdoM[zI3 )p%sǎq'C :x2!Hoʑjxۢ ([c'v#kpQĿH,U\Gal>&7z>Q4q垴+I뗝C+D[DvM'hr I.%|hIdҸ..a0HM8-(ZMH3oG(!Cp5zi/XBsՠ6zC4ARoQt0ӽ*T DbO{΀d-wcZ ̋:QQ`2;ڨ۪܀/&hݫ; "UyЌ;Ї'W2ޥ` AvIԣl) Cʗ*_Gt)jL# 3S憮d= r[6(TaBn 79b'e%s7v1u?YDe R+29/ΟVf:I "bA֍zYJ?mVAQncV4ӦhnL7,9}g|VڮʭnFK ^&ƚh U]c-kPFJV MC {|vI"x]ƭQx `y3H+˵9L{R` /4NynUh77$*PjvF=@~)I݂vU3ח2QAE'êF"OH^R!5iCwʃ;KQ9 ìlzJuT,aW3$D>mA(>=PL7a@-Dq72̇ăb͈[5nLtW6V~Px莣K*i(z;DwG"  璸Yr&T [IgGH7qF/QO$lB><™],Ȑ\Gl{ZF}%.!؞j#aIkۥx_*o ʸ&jP0۸q})B0׺asA*^APIYĪoRe-USFr%_!N;rt rO<.=Ga'?ڊfb `Og? B b0wh6΀]fDP_+٣n8ڡJNAsj'$v{{S{%3]sq;\~!yGVyP7op8Cl!jhW߇Xa.+B|,Uhh6 [i% un(F5k(ʽ̱CZEE$(6!PFĀ2CyB )ikf6~ġl%7pZuFN;ܣ}(KWΔLG*7Gp4/<<lhh/_s/LȨ?M^>I=!BIҝ@] }coU:|k?`meQꂒ}Ҕb(&lw5!3ZO9zg$7<?Ph`# +[ j#__" K@u$+f<!S|ro 1kG;W0nT ¹l91n^ǺĶ{,ɿ[wsBD?}o֛v,,4V:0ۥx^#4_PvcZ+jC&%21X,&X 1#6ZpEŀI ݙƏs4ٳ 1^&gEw4Y.w|㮒@WQ;! \M?*?jZ =Gǀ Dev |a$ aT!>M4U%'fE?#8GP/nmn# hnYIvCu>πN,#{JISxnq۰3M`}Ԭ%87Ы2] ?mGLx%Ft/A<ށDTԏD騂P&,i\ b’EZʷLՍف^:y)*G2\b ֓hfD}]Kwg+R,rd4+ ٣-F".g۵=1IGE>[jWaZ DAR!R؎:2s-u>vb*Cf]X)fvJYn 4_cM&|ׁY[U۬*mP9TyupRRڳsLJ%gU8 Ae />?LrK_TG{Y\)~%:ÝE+=u4GR h#-zeTC7C9ɽ_2Ѹ䟂>/hM= Է2_ 皱YԖ J FW?~ "҈i)vj]u|RA\#V;jV5IڊG}.E 8Ɔ)f)wM ~Ŵsf'`&mu-eUs#AM. P_@!O`OW!v$jdݳCѵi2tQ/n΅'Jߔ6ELF)) t{Wz|. zi[ &{+ ;El1g3iOއCm$[@WÞQ[} 7ei(}2/~fI'̞ wOu'SOG/feRKأ.\@h~Gt[Vm3@} O!neܯF%Ҝ^R &%\F&HyG3E)M?:rN%dSﶈd,cRMU ??>LCn;DXJbf/,(ˆg3DlQ,>`*zh;l푧f)e~ϳ/2P-= BTBB$PXyu\G޵b7+u9h65<[Ȋ-/7#TQHF_Ǭ?e C/+Y)S}]u|H(,2c7m_k'jw)Uw_VL)o{AM}<%\17o2 hbm5(,ߒM_D1eB1R(:!ZYT_d& :d w h+QnPtel.p[+V+|Q't Ţ1yZxwU^rYK,]eʊ`šC222j p]]kdsa4!In{CʥhuZ?`519=]3$@G7h ErJ% v#NԡDXݣK[$Z=0mxB(-ڤU9ڡ5-s5`s_C„:'flA)m+#kEP`oDGh?)8l5x#<mh|$U閌0\[ c|\#Ɛ{q K0dl(u,w`R4a<zPn[$)2x@cfL`g|<و?#\ȓyYs@SAdUW8B+AR'E_&`Wo,1WaS0g~W%-}Kya~3Rz-%fS+20fɳĝ{Fi/LTc v:'A(Qw&00rr`gt gIf4q0LH Ȧ=/0õ OX吘(MNW.J/G%L9%\) *)% :.)3-؜wp1迦8'jO.Zbc4D.@w G'aKpal8&3Q0A}$u^gj3 B}].I~DC5urJ&D Y0qW쓿(JXatkN Fv&t= ]0+>YSNdF~B\PaDO%QEٰ?d!'z ‡m{4Fr#.Iac4y !@AiJ2C/x$AZqGs3a]X틠yϲq47tgE&pYVoI|)X1\!RgCNYA޵ܬ&w1agj1tIraeuhպ tliIƉ?_S7Ң d"{:=̆xJ(2ƒr KX9z .>ذ- ,r|2cB8`'YHˁNn/vE ;dO`(6_Cv9oi`G&- 0UO6ZS.IŽjw4PŀD]S)4~Rv=״3/k>ҕ}d B g,y9oV~< Yy^7@X .^=dXKЦw x& Qarݕht T273w"Fʏu{%P}҅&mȕȱG^fڮӈn0h9>!Gh11rW{a+ip=I6߸iP^OVJ I.\yKљO1#piw>N6;ve4#Ԕ}mӍKvWQ5".}aԺ0(ĘHǘlc gZ-p^K;y;b0yCkF,3eUXEZ&8+I*5c 8O ɝވٱD1^7+gYe?LʋFujCt98]!lOhS"_ԞbCJ[lh8l+jh!>"Mʇ%9%6D[ b܃3D"PǵM % V/Dg\MRGu=8S>o5ɐdgGS@԰\9BX1%<>Ot;Va%5&# gNyD^FP>!LVx@hSi\KȠ> OYztO 5s\vW :@g|V0 Ur'uyb=*}>Aw.BL2Qya+wpJ"GɡS 7iAA.zG3+b=PR1U̚BNWW }ƹGd~qPY :Կ`xMGT%T`ā>e8d-5\`:jkreg4{VIO-=/+`f}zK$2gc4}Y5CdX}/ez4+KI4r︵Xyj듥0S"L]&ਖ਼czya@R U%OzkZi{I.7) #{ |i·0LuŰ٠Yp )<ه.\QrP[+A:Z|8h4&@CVxamCy^NʅB3WU"]{{m.56eи|ib5ڷiru7g̗t{!ts`g d]t$9?A~\\?sXxC'9݄h mա:R[Y`G"&7nc}@)"S=N}wLœ1&g4$NdYbw -" K550r,ZP]OnHJ aiI.ȹ0y{a\%]cg'fj1~biOX6I:Fr=;dMVm0głC{60xMڲ8-uQQ%6 .Q3b&,j@TS23F$M 4! i:g~J=/`Y $I\x'hV0ʶ4 V iPjvVN2=߂B>ѣ,BxxeC~q0,h%95F !+IXTJt{ V<G39%4b<]!Ob}q%h6x ri\cܩ.Cc9X{K lǢn9&:)mn\_r)9d6yWֽfxYQ7b#%1=ջuq^'cPV>^֐\Rrc' w&דv0Y&UͭӯIJ?~ftq$DF(r`;͕o8HcDb(6,]G-9b'Hd;?lE~l,DlDuHy6<c]kB zD34E& f<\єA"YUwg4qa :0cnqLQPp6̵Haݡ}=3j\cӄ1 ;Y2h;ſe/{e̼A*b3 Dy0]W$ c@'13O+VbL W 2q%vi*E%g'*I;yI􋡼ceefAKb(Ϸ̤?mF )8!}:@PayHڞ!wyn5*{o}56qèaE/b! F8B܅񨹏^fy5v>%;<0vi*@ B{L(ӏ$?ghLE]z9r^ReĆxxd#\SPBVWu6ptU!\(Y_լJdAy" )sFYϞ⏱K$2V4v{z_ /8%boڋSx+D6"A;!0$(Xw+Jp3q\S'Pt <'}ELd4֞ܳvLO XڠdG^:*quٔ{CYܪ?f|2ZiGp5 p0s%HcV1@Q_2 )#fSlwDck}tQI{\,鮕6_K z_zuJDx${G>@EV3ܮl,tWt r~Nն^M]3QCef6uAL`dKxöNŷpF~dR(wPP&:O&YuXEdNi߹0$Y_b#orrAۈl4k'|CE`(pkH XAc`;dgZFm1zJP3%ح,E GCsO 1mھ)k:jT&Ra.ršBRfLz/=n)Ҕ`栯˿Dy~zzszKy6D)~H 7n.HrKkb?`[< ܉D̅k9TC`ψce_LJV=G;_7[BIF yu&N_z:ޏ>IQh8`ʚ+AixqLbr#Rw`U>[̡y7eDH47z y `g6KM6}?ٳl᝖u#D͝˜H=vn_yhꟸ?{hA>0D^T%k%b<R=!.Oj> :LFߎ+ȒB%q*-ːGW! hi pbA}K$rRFftI~|8GQ+vOf#sahLs:v끨ΡN"y.1nˢ!UlVFפaM`ٳ@* ME8S̠8A[b}VuG$p@{Ne2n*~ ~ ;~X`v2>gv5WlbE|ko"N]!;NCOd+M9jNa扖A,g5rhi:L.תfDk˫n nE=ΓFK) H&ujIT65c =#{GO;y pܴ2y<˩Q0=0i*}g&jH)"<Jl % (=R)90,ɯl^OwmrI7-r)_x-!եZTCbBL`2%0zkb&xbNſ ˄/A7K޷3z Zްwʀ ޞy21/;)PY̓uS슼W>PP8#7Yh[W xS ߫ZӲ V1<.;LI<.ݼr)SO6 o%yKhQJJxĬZfD#U>Vz)}Vq߀CuJL Cx 8.˶ 6jaDVWzĜnwn+ٵe4_*Po G6GGm}TJ;~Jwׁ]u.N@WX-;N{|UZn 0"Ή{$/S@͜ t CToX;.A<+XN9gUt,06u]jS3N=LsPr!e?= 7w0Țl:Kq bŰei\.ovD m)Nmo8DoNnCw+~]94z'$}3j`Bi]FK.j.(ht̲|=cQqk ˝ 4;mŸ3fl ˴{vF u .^"qĀVw:8拖>BanJO+(]o y%Ɇq:`G.AC<=i:\93O؄ ^%H٫4jqr46:SAB`/1R\;_?yN;}'qMRʱL[ k(.i& ŖVg iOW̉z 'ҲHWn+ _bI <0x+:q6_[y2g1cuB 7>f)()S* :3[g`ЙWn$ef& @D䑟)t^Y5cCQ`6w4A'3ۛTTJPuxA,Uv!-z@SuIe@~-IDv2-K9N≄"vL`}"_]gNf2a]dI<ڽ8g#*k*RJh-vTAn &4+s/+LÂ}|n ykMLTf9S7cx́i}W>V{G6'ˍ0Yې49HgjT$NB[06BWz8#\[rdWJwL9O14m[)Y1xǠPQ0EIEW)U oқ$sFʕ+e b2ʵ^L(>Pgg<i/vq Q-pMTyʷ8i.cdHg2v M%u%5uV7KڷHg".v_ 4wEӠ [w1bT.A mUD:| ; fǤ@^ YV#$3c)x,1ne >AbDdn$w}`Ч~ck%BT+|W; b OBd=Ly.%Nb{#WהZԓa_hGP\[܍@~c z[#* R4 '6N}Ybgggd$%Z/I,bخP ̰~bZxP}V)_C;^_+<3Ba *rϼZ>rmm=0zDM\-o[4 !?XjS%H#U|NNBNԾ2@zĶ%h~d ̣:ڪ/1WҘx=[Oc9~̖週 /~D [d/͌)k#ǻ@_o M3gܶkF'|&/8a gw\-Aޟqp'O! H@gO_Mq`9c_El95DTF×P 茡[ +zާX{eKJeK =L?дT2Й<O?!Mp*kņ_08C%*<}2AZ:3ꖅ0=iXit mf4̲ <6|Yz%5Bz^y^_yAâzM4s Ÿ-f|#uZ&u8\]SsaaZhWД:ݙ(09!dc29 Oe|0wz`aχ4nEF9LS7y΃tCg= m.r"ďΧM٧% $rYۨ唒NKF 8=7~}fa|VSY=PxiSgb=MsM8[ʽ5}eXعc4cBMYˎŋt ?׌Ŝ.EbetC)]_c( (ǣ<0PվM#d=Ce .F nZ4xX6jfÃEr $ ?͕z𕄲wNA~Jc]d#w 3bU/ `!.sə(?.;[TI[*l"(#y\`$cc尯w(61ge̓$rA4%`>3C ynz^zbaeAo Λ{U1s~~aI~9(R#/kԑ8rLKݩH8F3kd#\ȟ~yrObC)&$bbXܭֱU-$:w '!`@ 1D~7ym/wς# u5af3B5Aw L}rY\YENs0le #I}nJ0gԭ5JٵT! є!w3nIi k;,6AAvY|7O%9=Hf^.[%"/0iO47*zn"jXHH;7`a]B[ D״k kxF3$;]9]9;Jao˿k0 ;=jmrOB+ ˳Yiў+8z>LgGPGNɌՆwۻ4sR_flԱq0.H󷔐踾X1Uf޲qqϸ2}E|xm;c2VB| ̟1l]<{akѤqŐ1y.M(6hN 70TQ0|vqL=o&9~C<(ܛ*G‡>ጿOBRou4 5cFfYpUyFj弐"CR_< .R!DG JN/1:[AiY2FZ|kٽ]j2X,G3?>>06 gkZ{[iƖ[?#@ZfN2eZUo]0\z`~/~C;W잖d_ބ" >@H#1zWGg'k9xD"~Z+b6.O;Ƨ+.:MyoRخ2l2j>нG'fس@J֫4a`] Nn0HS* yW)I0f;K };.耴[nEFY~z$sL8;޹Bɽe(L0y&jFLzyJ\qWZGMat[YMz.HbSesI7@矝so܃WxG:G+[jxNF/g;XG9]V:ݯ&nN#ahiF !-R.|]8$kAɅ QA4+ܬF~.gnzؠ4tGMw,=ac8loQ9(a01V j[l2ySz3!ܓ!hF]gL<ⵉ%!YVs\",5]Og>̥*]]0FV!bi25`vHhp8 &OqHSlI{k=y¤.!1jFXk Zq։~ T=-|YACwZpda>ݰk H鲰|Y&Bh~dL7I?_^#19j"ioO#'T|WHygm زPP6"D7q|a`"ʙo3O*pb8B}go CJkVCJx$QL@"ϖd,j35O5ud11v=ڤ`B5*ޛyY(,|z9.]rF0nYu N~l!maͤC=\:['a&jhze=ވƩ_^y]CԢRw9DQPM5w>cL;:i]vI?UܭIS` BG9doEC&qY!ov-QeR6 ܁`:S$[%C%K) ARCR6:@MD#4^0Tb:9Sz.7~e'5ڪ| cA[~ 2E#\LFyQrKLNĬu4t+@4rlkX?qQe% T*qhFΈOwk҈8њ?-9(B̔EM쳘q+uj/77S.b%p%I?UqGhJ?`晝X!2ϟ^7eob=P @b+? ~TK1iM ˇ0,eJJuYS>1Fq|'shx>h l^CYn I?~`ߜD5OQke%#ı$YX I)\ w&kC'\zNvls,R+o;"^m2tX$ۍs$Qv.jAI$,(O[VhZ@* Y䨮:j9bE0-Ɨ2kpuj0>-(YG| f\bi լ:E3|Bm ߳ 6bcT_P+? %3qA,`%lK9m_cL]@9+.Kts-) YF6c"wGnwӽ'1YʮvuJ-_*A <;@PqiTf? @W,o N 8OoWkɐAj狆2o|$+·P?/Br ýtՄnYO_5^Vُ!m 1J*ʑA.4O ;(@nwL "Zޝ°֫=|r=Kޫ@ѯ*hSvRĦT-Cdb&Ƣ7w\BaEBa:&wr%'w=l"_;IGg9ZH~L½4<u"iΗ~(rel.5jԡYE)kIŽd_A S aڔp}$.D`DYj)Zh 'pmXUԊDluj+= W#=YI@{>EU9;"lC7ss+)%_l50TBkOQ +qM ϋ%Nk>~k7"e8;"Z"` RIpAIS9 G: oEcW5V2S3FQDydH?j(όE)o(b-_j 7ХA#@7v9FUi8n%͌/8K\M)yvD sHO5R`@6X7ju LWj}䗃W@N>!nİ~Kc`A!+ƜEouxX$;Z$!}~DPF:?9i#\Dߺ#O-EYg^YFVn]F(|`yO`WP1z7^e1VHԶ;e_TlI;Nx^|rg2Sӓ9".rtit1T_{0i_%0TP 40n8$eO<=[upE+zQGA W]yJ՜=r C&6zh?T1q 6l~_/tٿ4[z 2u9TǛ\X*zz/N bYטۘ2n7՟}o;2ճ L7=mJ($7 v i(V5U\T.9VA#0 8{Ij,)6枚QA㩕t ad_,S7<5p9}Ia5D[Pid} lE}\>{/oAY3tș)M24[3 eWX_ J=,*49'; 8{BhhwwSu)q)H*&J.3 MzԵQ{(wD㋴ұbt+OShC‘ӝ&lIIC뇒WG}1mUM]e A %| a.LX~H9{q>3-ՙHaT>Nf| ŕ'`[!H#1LOLԺf(KWF #zζMDҳ$D*nN!ִ;j"ߚ݅H\~f{XXf||qd<BWr-ˆ %K{FN[xMn0jcNQ'$!M<߫J2ϩo8 Gxy Qyj$f38x2fEU{s:ua+mmeH|BZ8 7)6xAYU~^ 9R^Ոf"ecĮV&^]K2AЬ"$K 251֑n~}G:=SĂ+! bZ&בȈRfnfbԄJ&#AX`~;T#,#p祢J,BzFj~rP"]RTJ6c ͳݩgeHYgm8qy8ݢ$#^Z:ϫQ)4߇[FGVB6f͆1{_ݱ6 bO˩-e'MxLUlѺIJR|CX7G7R61Ijt\~Ĕg: ,wc&gB\?HT 1 z!^rrҖ\>\AԱc:k1w[5>HcI/oֿT^i3en+"#?HԤd1cqw94C}P^sqg-/I!9 zGE5/vWG@W52.J߶M*ՏhӧzQ!ޤ`@<*1i׺ S5|ʝྵڥWʳTCmcS12I" ->.=j+dAޡ7@LEPRwHeF2<]ST-ro4ch$@ iQk, 0 c||=SVR9n2V%Cu WJql6@~ vS~.l+HnQaO}.;LlE/P˷XA"a\L2q]CQ*{΅'L:0ߢzGXuHRm EXw('ǭ# Ԛr>|J>V@o2KmZ/ Mor1a-ܞ׀cz5TsG cp0:fmv7 dv߻u=o\ +?:ة9{5:S(MR o DZ=rGL8?p,.#[H,!r 38jYr>8^On<10 i=@jٸmnX/Z[&`(N*>S/wAtݨ9ti#5St R?(ڵRe]c3 \jLK3>h{yDfQ$nbÊx{h J 'Y, R Hmފ\8ȷPNXT]w#^g[q;t_ y{:nuΕϓEn$0qøʣ I*kgAѮAE.i(U j #5)OPA jnxaut#a>{7xv|xvweCLVJK\)+6N Ƭ!ヸ5R l_;eEA{ p=Zy5 8ro)2e>b"l9%t91ūIށ.znD$5|خ'B+Om _ŁNUP #v"~oșTU0 @S ^.^20UuV5"5]^œEqco?0Yj/Jj!]3Ba! }+6{;- 㪎cfb,i:pX }EYeʔ{/R0h!Kk糍Z+W\ұ?\oӕEzi{'"K>O^l[}e.$YUϰ2VMnиQ{1?B 9f;N䌅 HLu6j?{[+aNם3t-Y7& $Nêl)BViZfsx^ߚb3h tPrf "_ `sA=jBFkjΤeL];; vǞJ@¿]/ڛX;F/=mf~f8H7^n>QYKdv\J)$Jr֤펒M˗\ƶ)-|CTMb^wrՈ:Gz~A0hv Q0ftq11BCUEdvr1uwX[Kޠ6ƣVO8Z = SvU'4-aR=5T#hn9zsd@S@8JAt|2˛!!xaH+Z$a$dJ@Zz4@0ZźlF}=r 1Qs1( q?+FOA}&ݨhghdpEf~P¸ZY0+듉Vc }MqR@|*ŸN+s~bԗzP~p_Ɋ9Eׁ(B@"pw+H(o+Ȓ&ξ}&Ns1]s0&g835qFZe ¥'Loi苔"E8I@^M~Si#a@NIZaE WLK^DM)¯җi.+=pJPu\b ŖqWI]1\$5w dcuGMd)g.>~#葜(0?);X-MegAxg \WP+V~T<BFef6N2%Kacl,:8UZy!额_ ˢIxۈX >->IF{ϾDiYrB, esohzt?m (9\ɤ(8z1ȪRdJOp)2r= -A. Ggb07F6e:} U]=T $F>S ]K/N!2JcRD,qlgV(!%q36Gѧ hp:Xs DQܶk.B_Aw6J? Ǭi%!x{|BCĽPWg'Гn5$3D$6~)kCw#]m\HkD?}?.hUaض b^1WR7W*cT!9' _0[ Rx?ͯ'PEe.H7 }7 g; ֺmtnu8*Gb1;HL#kܶBA%LaF{kX&6 IPjiP#Q$"9ձYI9|vDkEZf씅r!YVPJ`@C:r0ג8 `e?fzS/G@@淲nKx;ض1sW4a U.t" C/OWzv&Qv*TCp}\Q U+K\(WMR_oǗ`.D{|媔RG.FDf#ٶ =*yҌoW!:͕ӂ &MG]m2)Ɠ3!5]yÕ;^2z?*l%Rp"Ԩ9v)k8ߟ:ڂHcCA&SPC→K]BF0N$i!}ntA%o"{A*mQ ^PTn6`וu7UX:Yx8|"pn-zRjx}v8{Y ,ي H&W?Y]V~չvNo0<9 ZT!!JnzΖd)tfCo;K?/](פ~v QveԂն+s,cIy*,ho/( N<]SYE%G icӲ=6dhvO_g:1k $ˇe9.$p^MHB!['y6匵:n+? 9hKrݘMRTr9-NYL_ Oz --~:K"Sدopd |WH!ˤ%uy9aB%D5IK #^s% n(iT<砞=V )N2Xcj:p7—@-›P,yb,WM[HU}Q /%=3'WU!0ChvS'f,nV|x5/ uV*^No̱w@iڗ2.m< oa Fz'<[*# #,HkV}0f f\Pa)Ra!VL<{Zm\3 .?'aߤF+?2k;=[#(JpVb}-ُ[׌>wȽVqBFHa49v(/({|rQ<&ۃ2m*62vZ$LCNYX~Ll#u=T.9 B F!e n( *ei aX䬧 Iqntg QVv-uxb)6F]S=C CgcYp>6-\xy.VG.0nMOLAZUXHrnB> &l[jrH6ɖn5AZ3K}e+ V}&-3xWYQ#=$ ZIbpO*6`'7͏`n5σq_#^ C-R[8p ~uRr7h2 VK!KL^'aT? <.͚ 4$׉l@#;.!>5" +%?"<[|D\Qe@lfaqCJ^SVD0DV]:./$\0,STI{su$=Y0z=9.p#ӟ!fc)`VC R\ex 9] } ȫR̂ϧ\]{NO'I *O pėtdᱛ&\U״[RJ+#brwXF`$Ph'CnGcAٙhZC%V[" ~5v*.J"^#msy.TD-Q2chTr{RHP /"F6IZQmݑ=@j5Di =rBw5y˾K*Y 6ɫ+ׯxLGY5kܵok^bQmt ).Ɩ:\_rZ,<6l43ԁ8(s ? bTyi#8 ? MT]) E6H(*O%QV8ĸn44l#,j K@a;Oa_M|Np-tKҦO.y't֒Z-[Ƈexb4 LSO֮o(1{r`y~jx#-n)W޽?,BY鉢IrZ3BmSڸmDW:t0#hϼmdo 6, cuKznL026 '5Ooggfh\ywh;? PGK71v1`󰬖~#谠;1SR'4k}nc69$)Kx1ܾDD+&AZxqQJq1F@8?dX[X oruY8:^qmW÷$.IH0κL`ޱ;s WSb'>T"~I, JU$r,s'Żi맴3\Z{ k|f*9"HEYɜ%luWiν&Y~mPTf'mκbGB}_[k&3h+jwLi’o񅋙vH҃5fB%IuIE5x|_lvg)3jE|-UdBǒ _*]\PH4W`Wbs5H=v#OeO*1{;_&Caֲ0Ms]kόф;):>rz;9, N?GyA;Č `xZ۪&bщ9O!/;3AjV{ɓxAK[,>m| 9)*ۮB2FC4Ιm۬0X Kj/ӂq `,aDCwUM0zy`(^#'F|S6ee_*N=d}1xœ{2_rxZ<=+8T[6 q3\ cR~%旕E>ndoXBpk*#~2c8 Y;ŊSz=Ó*>|R h[ІES ".QkkWk\1Ґ/+tX~Є3Ą4jIۃrt؝V-I 9=v@H]+ڲ:=DŽk(&5QkIp! b7DWXgHMR":8cXD8z\؏IAx%enr/VfnMPĜ 4c@b01Tsu`{9S+'HpMqf+.jo\ qla>ھ&3%*`V/޳F0nPg%<c@kNVu,6.0hDŽx8IT{Χ-K5U ٷLUyvJ"b1:f)cM.QCY ;0z^e0Tms>CN~j_Apllu$[{|}HZ.޵Q`+8E>5E.}Ԇ@/;Z͓q֖MK,rA:ǹwL9эXYִS*vS8)fN)SS9hѿ)zGJ@?MJ=^]ۃpw,aeOj#,KaaUX-U`|4jr)ֺW{|3/jiSq # Zz-Je!SV0r|yd+ُ\a}GO H%(Lg|ts_w{gm^/" i)\++粠M*bq`2 )Pd?xc8mPk{͙턡|w}"m% 9RLJ:8-I;Ƞj:rIZ'1c_?&YKkirA*=+w|H]GZ>𬚛YC?'Ou?bED-cԚxdekaH7=Q6!3OB- YmZUA#Q;Dz qUY1/ZfaNI4M46ڈ6o;u,Ku*o = ?ǛSz,n47cC fVj&|M0F~ςE*0UQvO>ҎAl'Gyi(˷L3J,1 ٤S*8:Ǐv!րCS4ZQfp$ez] – xg  ُvwiI֏7,c~"bD ,F41 [1 gO,m: wV.p5HP 3|[3V隥$D#>IW` T^-sž(sy{x8z_>gbOWe~39  6F<{3N7/=G+"%$ ka'5gbP)t]7J;JB-gEqYXR0CH@ Id:,SD=u:mYRs0dbeO ]9w46*n&HҺ6ޘ Mv3cEfkz5"H/8dS>7図^<kxuئeHQY%t+܋m :x'Yҵē΃0wߵ~M5ss{:i xZZxo|#n=4)UoMvfLSӽY!Ah.bQ|Vp+dHQ$u }Zy@K쿩{ؤ!.+E,5S!]̉>J#"^P iUt`?sݡ#,)콪H$eEֻ,2`.*iw+!ZMºj#\ң_*ϴۑ~V!(4Byȓ1kTp쭄? t.[c˰cjKc2M4 .&i؂X˟=Z f-r;6 9ۈ YZ:$[zE{MZX}K ~[Ds5 ׂܻ=7Ճ[uhdkx5Vj{ έyRK} 0t/œC[&ް~~#ؚ6\8G w2Ӳ ib>Y*+t#â`:M07{E2 l.S~^1~Ŝ!#bRArWߚf-Wbj+ yJqnô0^͏1q\2ͮ~rniKh"h9:.F2 ~A߽-JU3D͉mh]>!D.,+P݇2tp >!{29rvj_::fgEUj1+u$dC޻x8$v."jgi@ᮦ羋ZVe˸ɮ{FC{2ic,p~BQ~=% ^ ob/y;ý۝[ÍXߚ'^/p""l  ! gCfCNS{k\1NǺ{P\g746'Q۳OvR4H:~;$;X$.PxVv´i,!u :.Eط^$uޙV{4Zeb˵k(rTm[%F <`+}7r1pU!- 明j=6:ۿ cJ*Rsj(M,HkDR a+{g;+jnԿJǸ,pRy#=*Aݧ}/b5 ibA˵Ѡ#!i rhĞ X zd8ooȍnlxM`$r_kJ!R@ 2~S7Ę5iqh~h^)v |^Z- ?h=91}RɶMXB 12rUǵj,lg(Z$0ӎ'S ~U,X՜-6z~hQ|1910Mǟ_a6hS4Cì5m'b/k_?4[]WR^}+ji%[7ϊs3%ft콣hs8N/ 7𶧃2HzشǩRKm:exFA OӄH.`Yя/\Ȃ0/K{8l86dB ʰprHj]TځV/oZ\;w)[ȹAݷmSPn7 С1?56}sSи-r Ѕ4S:Lcz~h ' )$ќP&1AU ppX|lXְo鑎GI4/!DUU rpuO i#J؎Go:ҫsC3w=mpIRe:&}N]jٔ}JT:dG1e|av$yمs)T'`@J? D3Y W. Afo+bڢc,NKBB?c;Õ;M+mN$;F, 1h ۧ8maz^nW50Kl7.Y឵Em4HG/QG.~?|3obfɎpP2^ߦH+YxLy% ni ᯎT8+?YƒMD{]>>pzN iȞvwVls=£%|PְڨIpLv 'W YZ